Как я могу хранить изображения в базе данных MongoDB, а не только в тексте? Могу ли я создать массив изображений в базе данных MongoDB? Можно ли будет сделать то же самое для видео?
GridFS для документов> 16 МБ. Не все двоичные данные такие большие. Помимо возможности превышения этого предела, есть ли другие преимущества использования GridFS вместо только типа BinData?
Брэндон Фицпатрик
3
Видео будет иметь размер> 16 МБ, поэтому этот ответ, вероятно, является разумным. Возможно, следует упомянуть об этом, хотя.
Ханох
1
любое другое решение, а не с помощью GridFS?
Абхишек Мани,
1
@AbhishekMani другое решение - не хранить их вообще в MongoDB. Теперь, в 2018 году, бесконечно проще записать эти данные в нечто вроде хранилища Amazon S3 или Azure BLOB.
Документы MongoDB BSON ограничены 16 МБ. Поэтому, если общий размер вашего массива файлов меньше этого, вы можете сохранить их непосредственно в своем документе, используя тип данных BinData .
Видео, изображения, PDF-файлы, электронные таблицы и т. Д. - не имеет значения, к ним относятся одинаково. Ваше приложение должно вернуть соответствующий заголовок типа контента для их отображения.
На NPM доступен плагин Mongoose, который называется mongoose-file. Это позволяет вам добавить поле файла в схему Mongoose для загрузки файла. Я никогда не использовал это, но это может оказаться полезным. Если изображения очень маленькие, вы можете закодировать их в Base64 и сохранить строку в базе данных.
Вы можете использовать тип данных bin, если вы используете любой язык сценариев для хранения файлов / изображений в MongoDB. Данные бина разработаны для хранения файлов небольшого размера.
Обратитесь к вашему драйверу языка сценариев. Для PHP нажмите здесь .
base64
, см stackoverflow.com/questions/11442356 я также нашел menge.io/2015/03/24/storing-small-images-in- Mongodb очень хорошая отправная точка.Ответы:
Пожалуйста, смотрите документацию GridFS для получения подробной информации о хранении таких двоичных данных.
Поддержка вашего конкретного языка должна быть связана в нижней части экрана.
источник
Документы MongoDB BSON ограничены 16 МБ. Поэтому, если общий размер вашего массива файлов меньше этого, вы можете сохранить их непосредственно в своем документе, используя тип данных BinData .
Видео, изображения, PDF-файлы, электронные таблицы и т. Д. - не имеет значения, к ним относятся одинаково. Ваше приложение должно вернуть соответствующий заголовок типа контента для их отображения.
Проверьте документацию GridFS для получения более подробной информации.
источник
Вы можете попробовать это:
источник
http://blog.mongodb.org/post/183689081/storing-large-objects-and-files-in-mongodb
На NPM доступен плагин Mongoose, который называется mongoose-file. Это позволяет вам добавить поле файла в схему Mongoose для загрузки файла. Я никогда не использовал это, но это может оказаться полезным. Если изображения очень маленькие, вы можете закодировать их в Base64 и сохранить строку в базе данных.
Хранение небольших (до 1 МБ) файлов с помощью MongoDB в NodeJS БЕЗ GridFS
источник
Вы можете использовать тип данных bin, если вы используете любой язык сценариев для хранения файлов / изображений в MongoDB. Данные бина разработаны для хранения файлов небольшого размера.
Обратитесь к вашему драйверу языка сценариев. Для PHP нажмите здесь .
источник
установить ниже библиотеки
подключите ур монго дб:
Определить схему базы данных
используя промежуточное программное обеспечение Multer для загрузки фотографии на стороне сервера.
отправить запрос в нашу базу данных
источник
По вашему мнению:
С помощью этого кода вы можете добавить как одно, так и несколько изображений в MongoDB.
источник
Это сработало для меня,
источник