MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Как да съхранявате файлове в MongoDB?

Разбира се, можете да сериализирате файла си като низ и да го съхраните в полето за документ. Но при такъв подход има един недостатък - всичките ви файлове трябва да са <тогава 16 mb (ограничение на размера на един документ).

Mongodb gridfs се изгражда върху колекциите на mongodb и съдържа две колекции:

  1. Файлове -- метаданни на файла (име, размер, идентификатор, всяка друга информация, която искате да запазите)
  2. Чънкове -- колекция, която съдържа сериализирано тяло на файла. Ако размерът на файла надвишава 16 mb ограничава, mongodb автоматично създава допълнителен фрагмент. Така всеки файл ще бъде запазен в mongodb като един файлов документ и>=1 част от документа.

Можете да проверите тук как изглежда файлът в mongodb.

Така че, ако решите да съхранявате файлове в mongodb, по-добре е да използвате общ, тестван от общността подход - gridfs.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. mongodb не записва всички данни

  2. Mongoose:mpromise (библиотеката с обещания по подразбиране на mongoose) е отхвърлена

  3. Търсене по елемент на обект в масив

  4. Как мога да изравня двойни масиви в mongoDB?

  5. Как мога да създам $or заявка за MongoDB с помощта на Java драйвера?