Полное руководство: вставка записей в MongoDB с примерами кода

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

Метод 1: использование метода InsertOne()
Метод InsertOne() используется для вставки одного документа в коллекцию MongoDB. Вот пример:

const MongoClient = require('mongodb').MongoClient;
const uri = 'mongodb://localhost:27017'; // MongoDB connection URI
const client = new MongoClient(uri);
async function insertRecord() {
  try {
    await client.connect();
    const db = client.db('mydatabase');
    const collection = db.collection('mycollection');
    const document = { name: 'John Doe', age: 30, email: 'johndoe@example.com' };
    const result = await collection.insertOne(document);
    console.log(`Inserted document with _id: ${result.insertedId}`);
  } finally {
    await client.close();
  }
}
insertRecord();

Метод 2: использование метода InsertMany()
Метод InsertMany() позволяет вставлять несколько документов в коллекцию MongoDB за одну операцию. Вот пример:

const MongoClient = require('mongodb').MongoClient;
const uri = 'mongodb://localhost:27017'; // MongoDB connection URI
const client = new MongoClient(uri);
async function insertRecords() {
  try {
    await client.connect();
    const db = client.db('mydatabase');
    const collection = db.collection('mycollection');
    const documents = [
      { name: 'Alice', age: 25, email: 'alice@example.com' },
      { name: 'Bob', age: 35, email: 'bob@example.com' },
      { name: 'Charlie', age: 40, email: 'charlie@example.com' }
    ];
    const result = await collection.insertMany(documents);
    console.log(`Inserted ${result.insertedCount} documents`);
  } finally {
    await client.close();
  }
}
insertRecords();

Метод 3: использование метода BulkWrite()
Метод BulkWrite() позволяет выполнять несколько операций записи, включая вставку, обновление и удаление, в одном пакете. Вот пример, демонстрирующий операцию вставки:

const MongoClient = require('mongodb').MongoClient;
const uri = 'mongodb://localhost:27017'; // MongoDB connection URI
const client = new MongoClient(uri);
async function insertRecords() {
  try {
    await client.connect();
    const db = client.db('mydatabase');
    const collection = db.collection('mycollection');
    const requests = [
      { insertOne: { document: { name: 'David', age: 28, email: 'david@example.com' } } },
      { insertOne: { document: { name: 'Eve', age: 32, email: 'eve@example.com' } } },
    ];
    const result = await collection.bulkWrite(requests);
    console.log(`Inserted ${result.insertedCount} documents`);
  } finally {
    await client.close();
  }
}
insertRecords();

В этой статье мы обсудили несколько методов вставки записей в MongoDB. Мы рассмотрели методы InsertOne(), InsertMany() и BulkWrite(), приведя примеры кода для каждого. Используя эти методы, вы можете эффективно хранить данные в коллекциях MongoDB. Не забывайте обрабатывать ошибки, закрывать соединения и оптимизировать код в соответствии с вашими конкретными требованиями.