MongoDB — популярная база данных NoSQL, предоставляющая гибкое и масштабируемое решение для хранения и извлечения данных. В Node.js клиентская библиотека MongoDB позволяет разработчикам взаимодействовать с базой данных различными методами. В этой статье мы рассмотрим несколько основных клиентских методов MongoDB и примеры их кода.
- Подключение к базе данных MongoDB:
Чтобы установить соединение с базой данных MongoDB, вы можете использовать методconnect
. Вот пример:
const { MongoClient } = require('mongodb');
async function connectToDatabase() {
const url = 'mongodb://localhost/cursoNode';
const client = new MongoClient(url, { useNewUrlParser: true, useUnifiedTopology: true });
try {
await client.connect();
console.log('Connected to the database');
// Perform operations on the database
} catch (error) {
console.error('Error connecting to the database', error);
} finally {
await client.close();
console.log('Connection closed');
}
}
connectToDatabase();
- Вставка документов.
МетодыinsertOne
иinsertMany
позволяют вставлять один или несколько документов в коллекцию MongoDB. Вот пример:
// Assuming 'client' is a connected MongoClient object
async function insertDocuments() {
const collection = client.db('cursoNode').collection('yourCollectionName');
const singleDocument = { name: 'John Doe', age: 25 };
const result1 = await collection.insertOne(singleDocument);
console.log('InsertOne Result:', result1.insertedCount);
const multipleDocuments = [
{ name: 'Jane Smith', age: 30 },
{ name: 'Bob Johnson', age: 35 }
];
const result2 = await collection.insertMany(multipleDocuments);
console.log('InsertMany Result:', result2.insertedCount);
}
insertDocuments();
- Запрос документов.
Чтобы получить документы из коллекции, вы можете использовать методfind
. Вот пример:
// Assuming 'client' is a connected MongoClient object
async function queryDocuments() {
const collection = client.db('cursoNode').collection('yourCollectionName');
const query = { age: { $gte: 30 } };
const result = await collection.find(query).toArray();
console.log('Query Result:', result);
}
queryDocuments();
- Обновить документы.
МетодыupdateOne
иupdateMany
позволяют обновлять один или несколько документов в коллекции. Вот пример:
// Assuming 'client' is a connected MongoClient object
async function updateDocuments() {
const collection = client.db('cursoNode').collection('yourCollectionName');
const filter = { name: 'John Doe' };
const update = { $set: { age: 26 } };
const result1 = await collection.updateOne(filter, update);
console.log('UpdateOne Result:', result1.modifiedCount);
const result2 = await collection.updateMany({ age: { $gte: 30 } }, update);
console.log('UpdateMany Result:', result2.modifiedCount);
}
updateDocuments();
- Удалить документы.
МетодыdeleteOne
иdeleteMany
позволяют удалить один или несколько документов из коллекции. Вот пример:
// Assuming 'client' is a connected MongoClient object
async function deleteDocuments() {
const collection = client.db('cursoNode').collection('yourCollectionName');
const filter = { name: 'John Doe' };
const result1 = await collection.deleteOne(filter);
console.log('DeleteOne Result:', result1.deletedCount);
const result2 = await collection.deleteMany({ age: { $gte: 30 } });
console.log('DeleteMany Result:', result2.deletedCount);
}
deleteDocuments();
В этой статье мы рассмотрели различные клиентские методы MongoDB в Node.js. Мы рассмотрели подключение к базе данных MongoDB, вставку и запрос документов, обновление и удаление документов. Понимая и используя эти методы, вы сможете эффективно взаимодействовать с базами данных MongoDB в своих приложениях Node.js.
Не забывайте обрабатывать ошибки и соответствующим образом закрывать соединение с базой данных, чтобы обеспечить бесперебойную работу.