Загрузка файлов в приложениях MEAN Stack с MongoDB GridFS!
Хорошо, как бы сложно я ни нашел правильное название для этого сообщения в блоге, концепция сохранения файлов в MongoDB относительно проста!
MongoDB - это база данных NoSql, основанная на документах, это, безусловно, любимая база данных Noders для их проекта, она также поддерживается, но некоторые из 100 компаний из списка удачливых за ее скорость и удобство обслуживания.
MongoDB использует для своего файлового хранилища прекрасную систему под названием GridFS, в основном это механизм хранения данных, размер которых превышает размер документа BSON, который составляет 16 МБ, но нас это не особо заботит. Небольшая деталь для наших нужд, мы просто обойдем принцип и выполним несколько операций CRUD.
Хорошо, давайте начнем с некоторых требований:
- NodeJS (конечно).
- Некоторые пакеты (мы установим их позже).
- Почтальон (для тестирования).
- Менеджер пакетов пряжи.
- Мозг ! (он нам обязательно понадобится).
A - Настройка проекта:
Откройте свой терминал (в MacOS / Linux) или cmd в Windows (CMDer как рекомендация для пользователей Windows), перейдите в свой рабочий каталог и запишите следующую команду:
# yarn add -- mongoose gridfs-stream express morgan busboy-body-parser
Теперь такая команда инициализирует вас и установит необходимые зависимости, которые потребуются в нашем рабочем процессе:
1 - mongoose: ORM следующего уровня для NodeJS и MongoDB.
2 - gridfs-stream: Помогите нам передавать / выводить данные из MongoDB GridFS.
3 - экспресс: упростите рабочий процесс HTTP.
4 - morgan: программное обеспечение Express Middleware, используемое для ведения журнала HTTP.
5 - busboy-body-parser: анализ тела для форм multipart / form-data в Express.
B - Взлом проекта:
Итак, для большей наглядности я сделал это видео, чтобы объяснить вещи более глубоко. Когда вы закончите видео, пожалуйста, прочтите это руководство.
Итак, в этом руководстве я попытался просто создать функцию загрузки в приложение nodejs с MongoDB, которая просто позволит нам загружать изображения и возвращать их в формате base64.
Учебное пособие на YouTube: https://youtu.be/pXHOF4GWuZQ
Демо Github Repo: https://github.com/houssem-yahiaoui/fileupload-nodejs