Node.js - MongoDB Insert

Здравствуйте,野心勃勃的程序设计师们!今天,我们将踏上一段激动人心的旅程,探索Node.js和MongoDB的世界。具体来说,我们将探讨如何使用Node.js向MongoDB插入数据。如果你是新手,不用担心——我会像耐心地教孙子第一次烤饼干一样,引导你完成每一个步骤。

Node.js - MongoDB Insert

Что такое 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();
});

Давайте разберем это:

  1. Мы импортируем модуль MongoDB.
  2. Мы указываем URL, где работает наш сервер MongoDB.
  3. Мы используем метод connect, чтобы establish подключение.
  4. Если возникает ошибка, мы выбрасываем ее (как выбрасываем плохое яблоко).
  5. Если подключение прошло успешно, мы логируем сообщение.
  6. Наконец, мы закрываем подключение к базе данных.

Ввод данных в 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();
});
});

Давайте рассмотрим этот код:

  1. Мы подключаемся к базе данных.
  2. Мы создаем объект myobj с данными, которые хотим insert.
  3. Мы используем dbo.collection("customers").insertOne(), чтобы insert объект в коллекцию "customers".
  4. Если успешно, мы логируем сообщение и закрываем подключение.

Метод 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:

  1. Мы создаем массив объектов, каждый из которых represents документ, который мы хотим insert.
  2. Мы используем dbo.collection("customers").insertMany(), чтобы insert все эти объекты одним махом.
  3. Мы логируем количество 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