Node.js API + Операции MongoDB CRUD | Часть 02

Jan 08 2023
Это вторая часть серии Node.js API + MongoDB CRUD Operations.

Это вторая часть серии Node.js API + MongoDB CRUD Operations. Если вы не читали часть 01, то вы не опоздали вот ссылка, и потратили на нее мало 4 минут. [ Ссылка на часть 01 ].

Теперь вы инициировали проект узла. Затем запустите его на встроенном терминале с помощью npm start. Теперь пришло время выполнить другие операции импорта и настройки для подключения базы данных к нашему приложению.

Поэтому нам нужно импортировать пакет body-parser в index.js(серверный) файл. Этот пакет используется для преобразования тела запроса в заданный формат, после чего он будет находиться внутри промежуточного программного обеспечения. Мы можем настроить промежуточное ПО, используя use()метод. Затем, какой бы запрос ни пришел к приложению, тело будет преобразовано в JSONобъект.

const bodyParser = require("body-parser");
app.use(bodyParser.json());

const express = require("express");
const bodyParser = require("body-parser");
const app = express();
app.use(bodyParser.json());

app.listen(3000, () => console.log("Server is started on 3000"));

Здесь мы используем онлайн MongoDB. Вы можете перейти к MongoDB: Платформа данных для разработчиков | МонгоДБ . Если у вас есть сервер в сети, вы можете войти на него.

Не беспокойтесь, если вы не создали сервер MongoDB.

Просто нажмите «Зарегистрироваться» и заполните форум, который они предоставляют, и зарегистрируйтесь с помощью учетной записи Google.

изображение автора

После этого вы должны принять условия и политику, как показано ниже, и вы должны дать ответы на следующем форуме.

изображение автора
изображение автора
изображение автора

Создайте свой сервер с настройками по умолчанию, которые они предоставили. Нажмите на создание кластера.

Перейдите в БД и увидите кластер по умолчанию как Clustor0. Затем нажмите на кластер и перейдите на вкладку коллекции, где мы храним данные нашего приложения.

изображение автора

Пришло время сделать первоначальные настройки. Нам нужен хотя бы один пользователь для подключения к БД. Для этого перейдите на вкладку «Доступ к базе данных» и «Добавить нового пользователя базы данных».

изображение автора

Чтобы добавить нового пользователя, вы получите вкладку, как показано ниже.

изображение автора

Затем мы должны настроить доступ к сети. Перейдите на вкладку «Доступ к сети» и вставьте 0.0.0.0/0запись в список доступа, чтобы разрешить доступ из любого места.

изображение автора
изображение автора

Ага супер круто… Пришло время соединить БД с сервером. Итак, вернемся к нашему приложению снова.

В качестве первого шага создается .envфайл. Затем нам нужно получить доступ к нашей базе данных. Затем нажмите «Подключиться» -> «Подключить ваше приложение в кластере, который мы создали ранее».

изображение автора

И скопируйте uri подключения в буфер обмена.

изображение автора

Здесь вы должны заменить admin на роль пользователя, которую вы уже создали, и пароль также должен быть заменен, который соответствует роли пользователя.

MONGO_URL=mongodb+srv://admin:<password>@questionbank.xgxrf.mongodb.net/employee_db?retryWrites=true&w=majority

const mongoose=require('mongoose')

const dotenv = require("dotenv");

dotenv.config();

const URL = process.env.MONGO_URL

 module.exports=()=>{
    return mongoose.connect(URL)
 }

Поэтому listen()метод должен вызываться и вставлять успешный обратный вызов метода подключения к БД.

const dbConnection = require("./db.js");

dbConnection()
  .then(() => {
    console.log("DB is connected!!")
    app.listen(3000, () => console.log("Server is started on 3000"));
  })
  .catch((err) => console.log(err));

изображение автора
изображение автора

О нет… Есть предупреждение… Попробую убрать предупреждение.

mongoose.set('strictQuery', false);только правильно отключает строгое поведение запросов, если вы запускаете его до создания схем. После создания схем изменения этого свойства игнорируются. Затем добавьте эту строку кода в db.jsфайл.

mongoose.set("strictQuery", false);

Вау… Супер круто… мы сделали это…

Ребята, я думаю, было бы лучше сделать перерыв. Я скоро приду с Частью 03 . Там нам предстоит создавать контроллеры, вставлять данные в БД и…многое другое….

До свидания для вас…