English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
En este tutorial de Node.js, utilizaremos los métodos insertOne() y insertMany(), a través de ejemplos, aprenderemos a insertar un documento o varios documentos desde una aplicación Node.js a la colección MongoDB.
A continuación se muestra una guía paso a paso, incluyendo un ejemplo que inserta un documento desde una aplicación Node.js a la colección MongoDB.
Start MongoDB service. Run the following command to start the MongoDB service
sudo service mongod start
Obtenga la URL básica del servicio MongoDB. Una técnica sencilla para saber la URL básica del servicio MongoDB es abrir el terminal y ejecutar el 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]
Cuando se inicia el Mongo Shell, se muestra la URL base de MongoDB.
mongodb://127.0.0.1:27017
Prepáre la URL completa. Adjunte el nombre de la base de datos que desea conectar (por ejemplo, newdb) a la URL base.
mongodb://127.0.0.1:27017/newdb
Cree un MongoClient.
var MongoClient = require('mongodb').MongoClient;
Con la ayuda de la URL, se conecta al servidor MongoDB de MongoClient.
MongoClient.connect(url, <callback_function>);
Una vez completada la intento de conexión del MongoClient, la función de retroalimentación recibirá el error y el objeto db como parámetros.
Si la conexión es exitosa, el objeto db apunta a la base de datos newdb.
Inserte el documento en la colección MongoDB especificada. A continuación se muestra la sintaxis de los métodos insertOne() y insertMany() para insertar documentos en una colección de MongoDB desde Node.js.
insertOne()
db.collection(<collection_name>).insertOne(<document>, <callback_function>)
insertMany()
db.collection(<collection_name>).insertMany(<documents_array>, <callback_function>)
Descripción de los parámetros:
<collection_name> - El nombre de la nueva colección MongoDB que vamos a crear
<documento> - El único documento que debe insertarse en la colección MongoDB
<document_array> - El array de documentos a insertar en la colección MongoDB
<callback_function> - Después de que Node intenta crear la colección y preparar el resultado, se llamará a esta función de callback de Node.js. La función de callback recibe el error y el objeto de resultado como parámetros.
// Creamos la colección "usuario" en la base de datos newdb var url = "mongodb://localhost:27017/newdb"; // Crear un cliente para mongodb var MongoClient = require('mongodb').MongoClient; // Hacer que el cliente se conecte al servicio mongo MongoClient.connect(url, function(err, db) { if (err) throw err; // db apunta a newdb console.log("Cambiado a ",+db.databaseName+" baseDeDatos");}} // Archivo a insertar var doc = { name: "Roshan", age: "22" }; // Usar insertOne para insertar el documento en la colección "usuario" db.collection("users").insertOne(doc, function(err, res) { if (err) throw err; console.log("Documento insertado"); // Cerrar la conexión con db完成后 db.close(); }); });
Resultados de salida
$ node node-js-mongodb-insertar-document.js Cambiado a la base de datos newdb Documento insertado
Mongo Shell
> usar newdb Cambiado a db newdb > mostrar colecciones users > db.users.find({}); { "_id" : ObjectId("5a127729a415612642e3d6ad"), "name" : "Roshan", "age" : "22" } >
// Creamos la colección "usuario" en la base de datos newdb var url = "mongodb://localhost:27017/newdb"; // Crear un cliente para mongodb var MongoClient = require('mongodb').MongoClient; // Hacer que el cliente se conecte al servicio mongo MongoClient.connect(url, function(err, db) { if (err) throw err; // db apunta a newdb console.log("Cambiado a ",+db.databaseName+" baseDeDatos");}} // Archivo a insertar var docs = [{ name: "Udat", age: "21" }, { name: "Karthik", age: "24" }, { name: "Anil", age: "23" }]; // Insertar múltiples documentos en la colección "usuarios" utilizando insertOne db.collection("users").insertMany(docs, function(err, res) { if (err) throw err; console.log(res.insertedCount+" documentos insertados"); // Cerrar la conexión con db完成后 db.close(); }); });
Resultados de salida
$ node node-js-mongodb-insertar-muchos-documents.js Cambiado a la base de datos newdb 3 documentos insertados
Mongo Shell
> db.users.find({}); { "_id" : ObjectId("5a127729a415612642e3d6ad"), "name" : "Roshan", "age" : "22" } { "_id" : ObjectId("5a1278efecc5062794f4ed8d"), "name" : "Udat", "age" : "21" } { "_id" : ObjectId("5a1278efecc5062794f4ed8e"), "name" : "Karthik", "age" : "24" } { "_id" : ObjectId("5a1278efecc5062794f4ed8f"), "name" : "Anil", "age" : "23" } >
El primer elemento proviene del primer ejemplo, los otros tres se insertaron junto con este ejemplo.
En este tutorial de Node.js MongoDB: Node.js – Insertar Documento(s) en la Colección MongoDB,aprendimos a usar el paquete mongodb para insertar uno o más documentos en la colección MongoDB desde la aplicación Node.js utilizando los métodos insertOne() y insertMany(). En nuestro siguiente tutorial, Node.js MongoDB Find, aprenderemos a consultar documentos en la colección MongoDB.