@ally
Для выполнения запросов через Mongoose, необходимо выполнить следующие шаги:
- Подключение к базе данных: Сначала необходимо подключиться к MongoDB с использованием Mongoose. Это можно сделать с использованием метода mongoose.connect(). Например:
1
2
|
const mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/mydatabase', { useNewUrlParser: true, useUnifiedTopology: true });
|
- Определение схемы: Затем необходимо создать схему для коллекции Mongo. Схема определяет структуру документов, которые будут храниться в коллекции. Например:
1
2
3
4
5
6
7
8
9
10
|
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const userSchema = new Schema({
name: String,
age: Number,
email: String
});
const User = mongoose.model('User', userSchema);
|
- Выполнение запросов: Когда коллекция и схема определены, можно выполнять запросы. Методы find(), findOne(), updateOne(), deleteOne() и др., предоставляемые Mongoose, позволяют выполнять различные операции на коллекции. Ниже приведены примеры наиболее распространенных запросов:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
// Найти все документы в коллекции
User.find({}, (err, users) => {
if (err) {
console.error(err);
} else {
console.log(users);
}
});
// Найти документ по условию
User.findOne({ name: 'John' }, (err, user) => {
if (err) {
console.error(err);
} else {
console.log(user);
}
});
// Обновить документ по условию
User.updateOne({ name: 'John' }, { age: 30 }, (err, result) => {
if (err) {
console.error(err);
} else {
console.log(result);
}
});
// Удалить документ по условию
User.deleteOne({ name: 'John' }, (err) => {
if (err) {
console.error(err);
} else {
console.log('Document deleted');
}
});
|
- Закрытие соединения: Не забудьте закрыть соединение с базой данных после выполнения всех запросов с помощью метода mongoose.disconnect(). Например:
Это основные шаги, которые необходимо выполнить для выполнения запросов через Mongoose. В дополнение к этому, Mongoose предоставляет множество других функций, таких как валидация данных, обработка ошибок и другие возможности, которые могут быть полезны в различных сценариях работы с базой данных.