MongoDB
MongoDB — это кроссплатформенная программа базы данных, ориентированная на работу с документами, с доступным исходным кодом. Классифицируется как программа базы данных NoSQL.
Node
Node.js — это кроссплатформенная внутренняя среда выполнения JavaScript с открытым исходным кодом, работающая на движке V8 и выполняющая код JavaScript вне веб-браузера.
Express
Express.js, или просто Express, — это серверная платформа веб-приложений для Node.js, выпущенная как бесплатное программное обеспечение с открытым исходным кодом под лицензией MIT. Он предназначен для создания веб-приложений и API.
Mongoose
Mongoose.js соединяет ваши кластеры или коллекции MongoDB с вашим приложением Node.js. Это позволяет вам создавать схемы для ваших документов. Mongoose предоставляет множество функций при создании и работе со схемами.
Каков ваш вынос
В этой статье вы узнаете, как подключить экземпляр MongoDB к приложению Node.js.
Начнем… 💃
Предпосылки
- Node.js установлен на вашем компьютере.
- Экземпляр MongoDB, работающий на вашем компьютере.
- Некоторые знания Node.js и Express.js.
- Почтальон для тестирования конечных точек API.
1. Установка Express и Mongoose
Создайте новый каталог men_tutorial
и перейдите в него
Введите npm init -y
, чтобы создать проект без подсказок npm.
Установите Express и Mongoose с помощью командыnpm install express mongoose --save
2. Создайте соединение
Создайте новый файл server.js
, чтобы запустить наш сервер Express.js.
Загрузите mongoose
и express
, добавив следующий код в server.js
.
const express = require("express");
const mongoose = require("mongoose");
const Router = require("./routes")
const app = express();
app.use(express.json());
Затем подключитесь к локальному экземпляру MongoDB, используя функцию mongoose.connect()
. Мы проходим useNewUrlParser: true
и т. д., чтобы избежать DeprecationWarning
.
mongoose.connect('mongodb://localhost:27017/usersdb',
{
useNewUrlParser: true
}
);
Чтобы убедиться, что подключение прошло успешно, добавьте следующий код прямо под файлом mongoose.connect()
.
const db = mongoose.connection;
db.on("error", console.error.bind(console, "connection error: "));
db.once("open", function () {
console.log("Connected successfully");
});
Затем настройте приложение на прослушивание порта 3000.
app.use(Router);
app.listen(3000, () => {
console.log("Server is running at port 3000");
});
Конец файлаserver.js
.
3. Создайте схему
Создайте еще один файл models.js
и добавьте следующий код.
const mongoose = require("mongoose"); const UserSchema = new mongoose.Schema({ name: { type: String, required: true, }, lucky_number: { type: Number, default: 0, }, }); const User = mongoose.model("User", UserSchema); module.exports = User;
Мы создаем схему UserSchema
с помощью метода mongoose.Schema()
. Схема собирает поля name
и lucky_number
, отправленные из запроса.
Затем мы экспортируем схему, используя последние 2 строки.
Конец файлаmodel.js
.
4. Создание конечной точки POST
Создайте новый файл routes.js
. Этот файл определяет конечные точки для нашего приложения.
Загрузите express
и схему, которую мы создали на шаге 3, добавив следующий код.
const express = require("express");
const userModel = require("./models");
const app = express();
Затем создайте конечную точку POST, добавив следующий код.
app.post("/add_user", async (request, response) => {
const user = new userModel(request.body);
try {
await user.save();
response.send(user);
} catch (error) {
response.status(500).send(error);
}
});
Мы создаем маршрут /add_user
для добавления нового пользователя в базу данных. Мы анализируем содержимое для сохранения в базе данных, используя строку const user = new userModel(request.body);
.
Затем мы используем блок try/catch
для сохранения объекта в базе данных с помощью метода .save()
.
5. Создание конечной точки GET
Добавьте следующие строки кода в файл routes.js
.
app.get("/users", async (request, response) => {
const users = await userModel.find({});
try {
response.send(users);
} catch (error) {
response.status(500).send(error);
}
});
Мы создаем маршрут /users
для получения всех пользователей, сохраненных с использованием маршрута /add_user
. Этих пользователей мы собираем из базы методом .find()
. Затем мы используем блок try/catch
для «отправки» пользователей в эту конечную точку.
Наконец, экспортируйте эти конечные точки, добавив строку ниже.
module.exports = app;
6. Ваше приложение готово… 💃
Подайте приложение, выполнив команду ниже:
node server.js
Вывод:
7. Тестирование конечных точек с помощью Postman
Почтальон — приложение для тестирования API. Это HTTP-клиент, который тестирует HTTP-запросы с использованием графического пользовательского интерфейса, с помощью которого мы получаем различные типы ответов, которые необходимо впоследствии проверить. Следите за информацией об установке и использовании Postman здесь.
Давайте посмотрим, как работает наше приложение…
POST
Откройте Postman и отправьтеPOST
запрос к конечной точкеhttp://localhost:3000/add_user
.
Новый users
будет добавлен в базу данных столько раз, сколько раз мы выполним запрос POST
. Мы сможем увидеть всех пользователей, использующих конечную точку GET
, что также показано ниже.
GET
Откройте Postman и отправьтеGET
запрос к конечной точкеhttp://localhost:3000/users
.
Я добавил еще двух пользователей просто для демонстрации 🙌
Наконец, вот оно. Мы узнали, как настроить MongoDB, используя схемы Node.js, Express.js и Mongoose. Вы также можете подключиться к MongoDB Atlas или любой другой базе данных, расположенной на удаленном уровне. Процедура будет такой же, вам просто нужно будет обновить учетные данные базы данных при подключении. 🔏
Все файлы доступны на моем гитхабе здесь 🚀
Спасибо :)
Надеюсь, вам понравилась статья 💌
Пожалуйста, дайте мне знать, оставив сообщение в комментариях
Пишите свои предложения по новым статьям здесь 📬
Вы также можете купить мне кофе здесь ☕️
Дополнительные материалы на plainenglish.io