Как хранить картинки в mongodb?

Пользователь

от hobart.rath , в категории: SQL , 2 года назад

Как хранить картинки в mongodb?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от fred , 2 года назад

@hobart.rath 

Картинки можно хранить в MongoDB несколькими способами:

  1. Хранить изображение в виде строки с кодированным в base64 содержимым. Для этого можно использовать функцию Buffer.from(string, 'base64') для преобразования картинки в буфер, а затем сохранить буфер в MongoDB с помощью типа Binary.
  2. Хранить изображение как файл в GridFS. GridFS - это файловая система, встроенная в MongoDB, которая позволяет хранить файлы, размер которых превышает максимальный размер документа MongoDB (16 МБ). Чтобы сохранить изображение в GridFS, вам нужно будет сначала открыть соединение с GridFS с помощью метода db.openUploadStream и затем записать файл в него с помощью метода write.
  3. Хранить изображение в виде ссылки на внешний ресурс. В этом случае вы можете сохранить ссылку на изображение в поле документа Mongo

Пользователь

от sherwood_littel , год назад

@hobart.rath 

, которое будет содержать URL или путь к файлу.


Выбор способа хранения картинок в MongoDB зависит от ваших потребностей и ограничений проекта. Если размер изображений невелик и не превышает ограничений на размер документа MongoDB, то можно использовать первый способ с кодированием в base64. В случае, если размер изображений большой или вам необходимо обрабатывать файлы с помощью GridFS, то второй способ будет предпочтительнее. Если изображения хранятся на внешнем ресурсе и вам не требуется сохранять копии файлов в базе данных, то можно использовать третий способ с использованием ссылок.