Взаимодействие с MongoDB из Express можно осуществлять с использованием библиотеки Mongoose. Mongoose предоставляет удобный интерфейс для работы с MongoDB при создании моделей данных и выполнении запросов.
В первую очередь, необходимо установить библиотеку Mongoose. Выполните следующую команду в терминале, находясь в корневой директории вашего проекта:
npm install mongoose
После установки Mongoose, добавьте в ваш файл Express приложения соответствующий код для подключения к базе данных.
const mongoose = require('mongoose'); mongoose.connect('mongodb://localhost/mydatabase', { useNewUrlParser: true, useUnifiedTopology: true }) .then(() => console.log('Connected to MongoDB')) .catch(error => console.log(error));
В этом примере мы используем метод connect
для подключения к локальной базе данных mydatabase
. Указанные параметры useNewUrlParser
и useUnifiedTopology
необходимы для корректной обработки URL-адресов подключения и обработки событий MongoDB.
Далее, при необходимости, создайте модель данных. Модель определяет структуру коллекции MongoDB и предоставляет методы для выполнения запросов. Вот пример простой модели:
const mongoose = require('mongoose'); const userSchema = new mongoose.Schema({ name: String, age: Number, email: String }); const User = mongoose.model('User', userSchema);
Теперь мы можем использовать модель User
для выполнения запросов к базе данных. Вот несколько примеров использования:
1. Создание нового документа:
const newUser = new User({ name: 'John Doe', age: 25, email: '[email protected]' }); newUser.save() .then(() => console.log('User created')) .catch(error => console.log(error));
2. Получение всех документов:
User.find() .then(users => console.log(users)) .catch(error => console.log(error));
3. Обновление документа:
User.findByIdAndUpdate(userId, { name: 'Jane Doe' }) .then(() => console.log('User updated')) .catch(error => console.log(error));
4. Удаление документа:
User.findByIdAndDelete(userId) .then(() => console.log('User deleted')) .catch(error => console.log(error));
Это лишь небольшой пример возможностей Mongoose при выполнении запросов к MongoDB с использованием Express. Однако, библиотека предоставляет гораздо больше функциональности, такую как фильтрация, сортировка, счетчики, агрегации и др. Вы можете более подробно ознакомиться с Mongoose в его [официальной документации](https://mongoosejs.com/).