2016-02-22 2 views
0

Что было бы лучше всего загружать файлы в MongoDB. Недавно я приехал через Малтера. Он прост в использовании, но он загружает файлы в файловую систему вместо загрузки непосредственно в MongoDB.Загрузка файлов в MongoDB

+1

Я никогда бы не файлы, хранящиеся в MongoDB, а хранить файлы в S3 и имеют URLs в MongoDB –

+1

вы должны использовать gridfs https://docs.mongodb.org/manual/core/gridfs/ – styopdev

ответ

1

Multer - это высокоуровневая обертка для Busboy и, к сожалению, не вызывает обратную связь с Stream, если вы не пишете StorageEngine. Причина, по которой вы хотите, чтобы поток был настолько неудачным, заключается в том, что в противном случае вам придется буферизировать весь файл в памяти вашего процесса узла, прежде чем сможете что-либо сделать с ним. Потоки намного эффективнее и позволяют вам передавать данные где-то, пока вы его получаете, а только буферизацию в памяти, если вы не можете передавать данные где-то с одинаковой скоростью по мере ее получения.

Сочетание пользовательского StorageEngine с gridfs-stream позволит вам записывать данные в GridFS в режиме реального времени по мере получения данных (например, пользователь все еще загружает).

Я нашел два двигателя GridFS хранения для Multer:
https://github.com/ISMAELMARTINEZ/gridfs-storage-engine
https://github.com/arjandepooter/multer-gridfs
Последнее, кажется, не имеют каких-либо документы, но по-прежнему легко использовать только глядя через источник.

+0

Я просто написал один и хорошо документирован и протестирован. https://github.com/devconcept/multer-gridfs-storage – devconcept

 Смежные вопросы

  • Нет связанных вопросов^_^