Загрузка файлов в приложениях MEAN Stack с MongoDB GridFS!

Хорошо, как бы сложно я ни нашел правильное название для этого сообщения в блоге, концепция сохранения файлов в MongoDB относительно проста!

MongoDB - это база данных NoSql, основанная на документах, это, безусловно, любимая база данных Noders для их проекта, она также поддерживается, но некоторые из 100 компаний из списка удачливых за ее скорость и удобство обслуживания.

MongoDB использует для своего файлового хранилища прекрасную систему под названием GridFS, в основном это механизм хранения данных, размер которых превышает размер документа BSON, который составляет 16 МБ, но нас это не особо заботит. Небольшая деталь для наших нужд, мы просто обойдем принцип и выполним несколько операций CRUD.

Хорошо, давайте начнем с некоторых требований:

  1. NodeJS (конечно).
  2. Некоторые пакеты (мы установим их позже).
  3. Почтальон (для тестирования).
  4. Менеджер пакетов пряжи.
  5. Мозг ! (он нам обязательно понадобится).

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

Увидимся в следующем;)