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. Не забывайте обрабатывать ошибки, закрывать соединения и оптимизировать код в соответствии с вашими конкретными требованиями.