Mongoose — популярная библиотека моделирования объектных данных (ODM) для Node.js и MongoDB. Он обеспечивает простой способ определения схем данных и взаимодействия с коллекциями MongoDB. В этой статье мы рассмотрим различные методы, доступные в схеме модели Mongoose, и предоставим примеры кода для демонстрации их использования.
- Создание схемы модели Mongoose:
Чтобы начать, нам нужно определить схему модели Mongoose. Вот пример:
const mongoose = require('mongoose');
const userSchema = new mongoose.Schema({
name: String,
email: {
type: String,
unique: true,
required: true
},
age: Number
});
const User = mongoose.model('User', userSchema);
- Сохранение документа.
Как только мы определим модель Mongoose, мы сможем создавать и сохранять документы в коллекции MongoDB. Для этой цели используется методsave():
const john = new User({
name: 'John Doe',
email: 'john@example.com',
age: 25
});
john.save()
.then(() => {
console.log('Document saved successfully!');
})
.catch((error) => {
console.error('Error saving document:', error);
});
- Поиск документов.
Mongoose предоставляет несколько методов для запроса и извлечения документов из коллекции. Вот несколько часто используемых методов:
find(): извлекает все документы, соответствующие заданному запросу.
User.find({ age: { $gt: 20 } })
.then((users) => {
console.log('Users:', users);
})
.catch((error) => {
console.error('Error finding users:', error);
});
findOne(): извлекает первый документ, соответствующий заданному запросу.
User.findOne({ name: 'John Doe' })
.then((user) => {
console.log('User:', user);
})
.catch((error) => {
console.error('Error finding user:', error);
});
- Обновление документов.
Mongoose предоставляет методы для обновления документов в коллекции. Вот пример использования методаupdateOne():
User.updateOne({ name: 'John Doe' }, { age: 26 })
.then(() => {
console.log('Document updated successfully!');
})
.catch((error) => {
console.error('Error updating document:', error);
});
- Удаление документов.
Чтобы удалить документы из коллекции, Mongoose предоставляет методыdeleteOne()иdeleteMany(). Вот пример использованияdeleteOne():
User.deleteOne({ name: 'John Doe' })
.then(() => {
console.log('Document deleted successfully!');
})
.catch((error) => {
console.error('Error deleting document:', error);
});
В этой статье мы рассмотрели некоторые основные методы, доступные в схеме модели Mongoose. Мы рассмотрели создание схемы, сохранение документов, поиск и обновление документов, а также удаление документов из коллекции MongoDB. Используя эти методы, вы можете эффективно работать с данными в приложениях Node.js и MongoDB.
Не забудьте изучить документацию Mongoose, чтобы узнать о более продвинутых методах и функциях, которые могут улучшить взаимодействие с базой данных!