Node.js - MongoDB Insert
Здравствуйте,野心勃勃的程序设计师们!今天,我们将踏上一段激动人心的旅程,探索Node.js和MongoDB的世界。具体来说,我们将探讨如何使用Node.js向MongoDB插入数据。如果你是新手,不用担心——我会像耐心地教孙子第一次烤饼干一样,引导你完成每一个步骤。
Что такое MongoDB?
Прежде чем мы углубимся в inserцию данных, давайте на минутку поймем, что такое MongoDB. Представьте себе огромный цифровой файловый ящик, в котором вы можете хранить любую информацию. По сути, это и есть MongoDB — база данных, которая хранит данные в гибком формате,类似 JSON, под названием BSON (Binary JSON).
Настройка是我们的环境
Во-первых, мы должны убедиться, что у нас установлены Node.js и MongoDB на нашем компьютере. Если вы еще не сделали это, это как пытаться печь без духовки или ингредиентов! Перейдите на официальные веб-сайты Node.js и MongoDB, чтобы загрузить и установить их.
Как только вы настроили их, мы должны установить драйвер MongoDB для Node.js. Откройте ваш терминал (не бойтесь, это всего лишь текстовый способ общаться с вашим компьютером) и введите:
npm install mongodb
Эта команда похожа на то, что вы просите ваш компьютер пойти в магазин и купить для вас пакет MongoDB.
Подключение к MongoDB
Прежде чем мы сможем inserting какие-либо данные, нам нужно establish подключение к нашей базе данных MongoDB. Вот как мы это делаем:
const MongoClient = require('mongodb').MongoClient;
const url = "mongodb://localhost:27017/mydb";
MongoClient.connect(url, function(err, db) {
if (err) throw err;
console.log("Database created!");
db.close();
});
Давайте разберем это:
- Мы импортируем модуль MongoDB.
- Мы указываем URL, где работает наш сервер MongoDB.
- Мы используем метод
connect
, чтобы establish подключение. - Если возникает ошибка, мы выбрасываем ее (как выбрасываем плохое яблоко).
- Если подключение прошло успешно, мы логируем сообщение.
- Наконец, мы закрываем подключение к базе данных.
Ввод данных в MongoDB
Теперь, когда у нас настроено подключение, давайте рассмотрим два основных метода для вставки данных в MongoDB: insertOne()
и insertMany()
.
Метод insertOne()
Метод insertOne()
похож на то, как вы аккуратно ставите одну книгу на полку. Он позволяет нам insert один документ в коллекцию. Вот как это работает:
const MongoClient = require('mongodb').MongoClient;
const url = "mongodb://localhost:27017/";
MongoClient.connect(url, function(err, db) {
if (err) throw err;
const dbo = db.db("mydb");
const myobj = { name: "John Doe", address: "Highway 37" };
dbo.collection("customers").insertOne(myobj, function(err, res) {
if (err) throw err;
console.log("1 document inserted");
db.close();
});
});
Давайте рассмотрим этот код:
- Мы подключаемся к базе данных.
- Мы создаем объект
myobj
с данными, которые хотим insert. - Мы используем
dbo.collection("customers").insertOne()
, чтобы insert объект в коллекцию "customers". - Если успешно, мы логируем сообщение и закрываем подключение.
Метод insertMany()
А что, если вы хотите добавить несколько книг на полку сразу? Вот где comes в handy метод insertMany()
. Этот метод позволяет нам insert несколько документов одним махом:
const MongoClient = require('mongodb').MongoClient;
const url = "mongodb://localhost:27017/";
MongoClient.connect(url, function(err, db) {
if (err) throw err;
const dbo = db.db("mydb");
const myobj = [
{ name: 'John', address: 'Highway 71'},
{ name: 'Peter', address: 'Lowstreet 4'},
{ name: 'Amy', address: 'Apple st 652'}
];
dbo.collection("customers").insertMany(myobj, function(err, res) {
if (err) throw err;
console.log("Number of documents inserted: " + res.insertedCount);
db.close();
});
});
Вот что happens:
- Мы создаем массив объектов, каждый из которых represents документ, который мы хотим insert.
- Мы используем
dbo.collection("customers").insertMany()
, чтобы insert все эти объекты одним махом. - Мы логируем количество inserted документов с помощью
res.insertedCount
.
Сравнение insertOne()
и insertMany()
Чтобы помочь вам лучше понять различия между этими двумя методами, давайте посмотрим на сравнительную таблицу:
Feature | insertOne() | insertMany() |
---|---|---|
Number of documents | Inserts a single document | Inserts multiple documents |
Input | Takes a single object | Takes an array of objects |
Return value | Returns a single InsertOneResult object | Returns an InsertManyResult object |
Performance | Slower for inserting multiple documents | Faster for inserting multiple documents |
Use case | When you need to insert a single document | When you need to insert multiple documents at once |
Заключение
И вот мы и добрались до конца,朋友们! Мы успешно navigated воды插入 данных в MongoDB с использованием Node.js. Помните, что insertOne()
похож на аккуратное placement одной книги на вашей полке, в то время как insertMany()
похож на restocking целую книжную полку сразу.
Практика делает perfect, так что не бойтесь экспериментировать с этими методами. Попробуйте insert разные типы данных или узнайте, сколько документов вы можете insert одним махом с помощью insertMany()
. Кто знает, может быть, вы даже создадите следующее большое приложение с базой данных!
Помните, каждый expert когда-то был beginner. Продолжайте программировать, продолжайте учиться и, что самое главное, продолжайте наслаждаться! До свидания, счастливого кодирования!
Credits: Image by storyset