@Arik

Как равномерно разбить mongoId для структуры папок?

Добрый день.

Как известно лучше не хранить кучу файлов в одной папке и когда были на MySQL использовали первичный ключ. Получалось что-то вроде:
./001/323/leps.mp3
Теперь же пытаюсь тоже самое получить от mongoId:
4af9f23d8ead0e1d32000000
Думал разбить:
./4af9/f23d/8ead/0e1d32000000/leps.mp3

но вот сомнения что равномерно не будут файлы лежать на диски. Через mongoId можно узнать время создания, может это как-то поможет?
4af9f23d8ead0e1d32000000 -> 1257894461 // getTimestamp()

Папка будет
./125/789/4461/4af9f23d8ead0e1d32000000/leps.mp3
./894/461/4af9f23d8ead0e1d32000000/leps.mp3 // или сократим до

Желательно в пути хранить id, чтоб не потерять совсем связь. Хранить в БД путь до файла тоже думал, но как то смущает, хочется проще
спасибо;
  • Вопрос задан
  • 236 просмотров
Пригласить эксперта
Ответы на вопрос 1
@lega
Вы можете хранить файлы в базе (gridfs) используя её преимущества (индексы, шардинг, экстраинформация, dump/restore целиком, реплика и т.п.)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы