2016-12-05 2 views
1

Три вопроса о хранилище WiredTiger и MongoDB.WiredTiger, GridFS и Mongodb, загружающий файл и максимальный размер файла

  1. Мне нужно хранить (двоичные) файлы в БД, которые могут превышать размер 16MB, теперь я прочитал на сайте WiredTiger, что максимальный размер файла составляет 512 Мб, а на MongoDB insert метода он говорит о том, что максимальный размер все документы должны быть 16 МБ, поэтому я смогу хранить файлы размером более 16 МБ при использовании WiredTiger?

  2. Мне нужно использовать полный файл, а не его части (например, потоковые части видео), возможно ли это сделать с GridFS?

  3. Как я могу вставить и найти файлы в БД? Я не могу найти гида о том, как это сделать с помощью WiredTiger ...

    Должен ли я сделать это из монголе и монгофилов? Есть ли способ сделать это программно с node.js?

ответ

1

1) GridFS следует использовать для файлов размером более 16 МБ: GridFS is a specification for storing and retrieving files that exceed the BSON-document size limit of 16 MB.

EDIT: Проверка this answer за пределы GridFS.

2) На вставки запроса GridFS divides a file into chunks. When you query GridFS for a file, the driver will reassemble the chunks as needed.

3) запрашивая GridFS с использованием WiredTiger или другой двигатель (MMAPv1) является прозрачным для пользователя. Файлы можно запросить с помощью методов драйвера, info here.

+0

В примере API для GridFS они используют поток для файла, могу ли я смело предположить, что он отправляет полный собранный файл, а не его части? – shinzou

+0

Конечно, да, водитель обрабатывает это прозрачно для вас. – sergiuz

+0

, где вы нашли документ, поддерживающий, вы не должны хранить файлы размером менее 16 Мб на gridfs? Он говорит, что если ваши файлы больше, чем 16Mb, вы ** ДОЛЖНЫ ** использовать gridfs! но меньше, чем вы ** ИМЕЛИ ** возможность использовать коллекции! –