English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

NodeJS базовый учебник

NodeJS Express.js

NodeJS буфер & URL;

NodeJS MySql

NodeJS MongoDB

NodeJS файлы (FS)

Другие NodeJS

Вставка документа в MongoDB в Node.js

Node.js - вставка документов в коллекцию MongoDB

В этом руководстве по Node.js мы будем использовать методы insertOne() и insertMany(), чтобы с помощью примера научиться вставлять один или несколько документов из приложения Node.js в коллекцию MongoDB

Вот пошаговая инструкция, а также пример, который вставляет документ из приложения Node.js в коллекцию MongoDB

Запуск службы MongoDB. Запустите следующие команды для запуска службы MongoDB

sudo service mongod start

获取MongoDB服务的基本URL。要了解MongoDB服务的基本URL,一个简单的技巧就是打开终端并运行Mongo Shell。

Terminal - Mongo Shell

arjun@nodejs:~$ mongo
MongoDB shell version v3.4.9
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.9
Server has startup warnings: 
2017-10-29T18:15:36.110+0530 I STORAGE [initandlisten]

当Mongo Shell启动时,它回显MongoDB的基本URL。

mongodb://127.0.0.1:27017

准备完整的URL。将您要连接的数据库名称(例如newdb)附加到基本URL。

mongodb://127.0.0.1:27017/newdb

创建一个MongoClient。

var MongoClient = require('mongodb').MongoClient;

在URL的帮助下从MongoClient连接到MongoDB服务器。

MongoClient.connect(url, <callback_function>);

一旦完成MongoClient的尝试建立连接,回调函数就会 收到错误和db对象作为参数。

如果连接成功,则db对象指向数据库 newdb。

将文档插入指定的MongoDB集合。以下是用于从Node.js将文档插入到MongoDB中的集合的insertOne()和insertMany()方法的语法。

insertOne()

db.collection(<collection_name>).insertOne(<document>, <callback_function>)

insertMany()

db.collection(<collection_name>).insertMany(<documents_array>, <callback_function>)

 参数说明:

  • <collection_name- 我们要创建的新MongoDB集合的名称

  • <document- 必须插入到MongoDB Collection中的单个文档

  • <document_array> -  Массив документов, которые нужно вставить в MongoDB Collection

  • <callback_function>   - ВNode, после создания集合а и подготовки результатов, будет вызван этот回调-функция Node.js. 回调-функция принимает ошибку и объект результата в качестве параметров.

insertOne()–示例Node.js程序

 // 我们在newdb数据库中创建“用户”集合
var url = "mongodb://localhost:27017/newdb"; 
 
// 创建一个客户端到mongodb
var MongoClient = require('mongodb').MongoClient; 
 
// 使客户端连接到mongo服务
MongoClient.connect(url, function(err, db) { 
    if (err) throw err; 
    // db指向newdb
    console.log("Switched to "+db.databaseName+" database"); 
 
    // 要插入的文件
    var doc = { name: "Roshan", age: "22" }; 
    
    // 使用insertOne将文档插入“用户”集合
    db.collection("users").insertOne(doc, function(err, res) { 
        if (err) throw err; 
        console.log("Document inserted"); 
        // Закрываем соединение с db по завершении
        db.close(); 
    }); 
 });

Результат вывода

$ node node-js-mongodb-insert-document.js
Перешли к базе данных newdb
Document inserted

Mongo Shell

> use newdb
switched to db newdb
> show collections
users
> db.users.find({});
{"_id": "5a127729a415612642e3d6ad", "name": "Roshan", "age": "22"}
>

insertMany() –示例Node.js程序

 // 我们在newdb数据库中创建“用户”集合
var url = "mongodb://localhost:27017/newdb"; 
 
// 创建一个客户端到mongodb
var MongoClient = require('mongodb').MongoClient; 
 
// 使客户端连接到mongo服务
MongoClient.connect(url, function(err, db) { 
    if (err) throw err; 
    // db指向newdb
    console.log("Switched to "+db.databaseName+" database"); 
 
    // 要插入的文件
    var docs = [{ name: "Udat", age: "21" }, 
                { name: "Karthik", age: "24" }, 
                { name: "Anil", age: "23" }]; 
    
    // 使用insertOne将多个文档插入“用户”集合
    db.collection("users").insertMany(docs, function(err, res) {}} 
        if (err) throw err; 
        console.log(res.insertedCount+" документов вставлено"); 
        // Закрываем соединение с db по завершении
        db.close(); 
    }); 
 });

Результат вывода

$ node node-js-mongodb-insert-many-documents.js
Перешли к базе данных newdb
3 документов вставлено

Mongo Shell

> db.users.find({});
{"_id": "5a127729a415612642e3d6ad", "name": "Roshan", "age": "22"}
{"_id": "5a1278efecc5062794f4ed8d", "name": "Udat", "age": "21"}
{"_id": "5a1278efecc5062794f4ed8e", "name": "Karthik", "age": "24"}
{"_id": "5a1278efecc5062794f4ed8f", "name": "Anil", "age": "23"}
>

Первый элемент пришел из первого примера, остальные три были вставлены вместе с этим примером.

В этом уроке Node.js MongoDB:  Node.js – вставка Document(s) в MongoDB CollectionМы изучили, как использовать пакет mongodb для вставки одного или нескольких документов в MongoDB Collection из приложения Node.js с помощью методов insertOne() и insertMany(). В следующем уроке – Node.js MongoDB Find, мы узнаем, как запрашивать документы из MongoDB Collection.