Полное руководство по клиентским методам MongoDB в Node.js

MongoDB — популярная база данных NoSQL, предоставляющая гибкое и масштабируемое решение для хранения и извлечения данных. В Node.js клиентская библиотека MongoDB позволяет разработчикам взаимодействовать с базой данных различными методами. В этой статье мы рассмотрим несколько основных клиентских методов MongoDB и примеры их кода.

  1. Подключение к базе данных 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();
  1. Вставка документов.
    Методы 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();
  1. Запрос документов.
    Чтобы получить документы из коллекции, вы можете использовать метод 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();
  1. Обновить документы.
    Методы 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();
  1. Удалить документы.
    Методы 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.

Не забывайте обрабатывать ошибки и соответствующим образом закрывать соединение с базой данных, чтобы обеспечить бесперебойную работу.