Добавление MongoDB
Добавьте это, чтобы сначала установить Mongoose для MongoDB:
npm install --save mongoose
Установите Multer для загрузки изображений
npm install --save multer
Импорт и использование Mongoose
Чтобы импортировать Mongoose, сначала создайте переменную в файле post.js следующим образом:
const mongoose = require('mongoose');
Чтобы создать новую схему:
const postSchema = mongoose.Schema({*Input Schema*});
Вместо Input Schema
мы добавляем типы и имена входов, которые мы ожидаем получить.
Изготовление моделей
Схемы на самом деле просто чертежи. Нам нужна какая-то реальная «вещь» для работы в нашем коде. Таким образом, мы используем модели.
Чтобы сделать модель:
module.exports = mongoose.model('*Model Name*', *Schema name*);
Вместо Model Name
и Schema Name
мы используем имя модели, которую мы хотим использовать, и схему, которая должна быть у этой модели, соответственно.
Использование моделей
Когда нам нужно использовать базу данных для извлечения или публикации данных, мы меняем файл server.
Импортируйте модель:
const Post = require('*File Location of Model*');
Добавьте в app.use:
const post = new *Model name*({*Inputs here*});
Также импортируйте мангуста:
const mongoose = require('mongoose');
Использование облачных БД
Перейдите на https://cloud.mongodb.com/ и зарегистрируйтесь под именем пользователя, чтобы получить бесплатную базу данных. Чтобы добавить эту облачную базу данных в свое приложение, просто нажмите подключиться на веб-сайте, затем заполните нужные параметры, и они предоставят вам ссылку. Эту ссылку необходимо импортировать с помощью Mongoose на сервер как:
mongoose.connect("*copied link with username and password*");
Очень просто сохранить входные данные с сервера в облачную базу данных, просто введите:
*Model name*.save();
Чтобы получить данные из базы данных, мы используем на сервере:
*Model name*.find().then(documents => {*What you want to do with data*});
Чтобы удалить данные из базы данных, мы сначала добавляем на сервер:
app.delete("/api/*Collection name*:id", (req,res,next) => {*content below.*})
Для удаления данных из базы используем в app.delete:
*Model name*.deleteOne({.id: req.params.id});
Загрузка изображения
Инжекторный мультер:
const multer = require('multer');