NodeJS vs MongoDB Tutorial

NodeJS vs MongoDB Tutorial
MongoDB es una base de datos NoSQL ampliamente utilizada. La capacidad de almacenar datos en varios formatos hace que MongoDB sea una herramienta beneficiosa para administrar grandes cantidades de datos. Por otro lado, NodeJS es un entorno de tiempo de ejecución bien conocido que ayuda a ejecutar el código JavaScript fuera del navegador.

Entonces, la primera herramienta (MongoDB) revoluciona la gestión de datos, mientras que NodeJS es famosa por desarrollar aplicaciones escalables. Siguiendo la importancia de estas herramientas fructíferas, esta guía demostrará el uso de NodeJs con MongoDB.

MongoDB y NodeJs

Aunque el entorno NodeJS funciona con varias bases de datos SQL y NoSQL. Aquí, solo nos dirigiremos a MongoDB. El NodeJS lo ayuda al realizar varias operaciones en MongoDB que se enumeran a continuación:

  • El número de conexiones de bases de datos de MongoDB administradas por NodeJS.
  • Administrar las conexiones a una base de datos; Creación de una conexión de base de datos, terminando la conexión.
  • Las operaciones CRUD compatibles con MongoDB se pueden llevar a cabo utilizándolo con NodeJS.

Requisitos previos

Con la ayuda de esta sección, podrá configurar un entorno donde pueda usar MongoDB con NodeJS. La siguiente lista de paquetes debe estar presente en su sistema Linux para comenzar con NodeJS junto con MongoDB.

Instalar nodo.JS: Debe instalar nodo.versión js "4.X" o mayor. Sin embargo, se recomienda tener la última versión disponible.

En primer lugar, actualice la lista de paquetes emitiendo el siguiente comando:

$ sudo apt actualización

Después de actualizar, obtenga el nodo.JS en Ubuntu con la ayuda del comando a continuación:

$ sudo apt instalación nodejs

Nota: Ya hemos instalado el nodejs.

Marque su versión de nodo también emitiendo el siguiente comando:

$ nodejs -v

Obtener nodo.Administrador de paquetes JS: El soporte de NPM del nodo.JS permite la instalación de varios módulos o paquetes que se utilizarán con el nodo.js. Entonces, ejecute el siguiente comando para instalar NPM en su Ubuntu:

$ sudo apt instalación npm

MongoDB Atlas: Después de instalar las instancias anteriores, debe ir a MongoDB Atlas y hacer una cuenta allí. Una vez que la cuenta se crea con éxito, se le pedirá que nombre su proyecto y cree un clúster dentro de ese proyecto. Después de esto, verá una interfaz como se muestra a continuación:

Puede observar el nombre del proyecto y el clúster de ese proyecto también:

Nota: En nuestro caso, el nombre del proyecto se establece en Linuxhint, y el clúster asociado con este proyecto se nombra Linuxhint-C1.

Además, para la conexión, debe seguir los pasos proporcionados a continuación:

Paso 1: Clickea en el "ConectarBotón "para configurar la conexión:

Paso 2: En la página siguiente, haga clic en "Agregue su dirección IP actual"Para establecer la IP actual para la conexión.

Ahora, haga clic en "Agregar dirección IP"Para completar este paso.

Paso 3: Después de configurar la dirección IP, navegue al "Crear un usuario de base de datos" opción. Ingrese el nombre del usuario en el "Nombre de usuario"Y contraseña en el"Contraseña"Opción, y luego haga clic en"Crear usuario de la base de datos"Para completar este paso.

Ahora, elija el método de conexión haciendo clic en "Elija un método de conexión":

Etapa 4: NEX Haga clic en "Conecte su aplicación".

Queremos NodeJs con MongoDB, para que elija "Nodo.js"Desde el menú desplegable llamado"CONDUCTOR"Y seleccione la versión relevante del"VERSIÓN" opción. Además, debe copiar la URL de conexión para usarla dentro de la aplicación NodeJS (o puede copiarla más tarde también).

Una vez que haya realizado todos estos pasos, está configurado para conectar su aplicación NodeJS con MongoDB.

Configuración del entorno

Esta sección describe brevemente las operaciones de MongoDB utilizando NodeJs. Para esto, debe crear un proyecto de nodo para que se pueda establecer su conexión con MongoDB.

Los pasos que se proporcionan a continuación lo guiarán para crear un nuevo proyecto de nodo e instalar un módulo MongoDB.

Paso 1: Abre tu terminal Ubuntu. Haga un nuevo directorio y cambie el directorio de trabajo actual a esa carpeta. Por ejemplo, hemos creado un directorio "nodo-mongo"Y cambió PWD a"nodo-mongo"Al emitir los siguientes comandos:

$ Mkdir Node-Mongo
$ CD nodo-mongo

Paso 2: Una vez que estás en el "nodo-mongo"Directorio; Cree un proyecto de nodo utilizando el siguiente comando:

$ npm init

Paso 3: Después de eso, ejecute el siguiente comando para instalar el módulo MongoDB que sea necesario para ejecutar consultas MongoDB (Ya hemos instalado este controlador):

$ npm instalación MongoDB

Nota: Se recomienda que deba tener la versión del nodo mayor que V14 Para agregar mongodb conductor.

Establecer una conexión entre MongoDB y NodeJS

Después de configurar el entorno, está configurado para conectar NodeJs con MongoDB. Además, el editor de código utilizado aquí es "Código de Visual Studio".

Debe seguir los pasos proporcionados a continuación para que la conexión sea exitosa:

Paso 1: Abra la carpeta en el "Código de Visual Studio" solicitud. Se observa que dos archivos ya están allí, uno se llama "paquete.json" y "paquete-bloqueo.json". Estos archivos se crean cuando inicializó npm e instaló el mongodb conductor. Puede crear estos archivos siguiendo Paso 2 y Paso 3 de "Cómo configurar el entorno".

Crear un nuevo ".js"Archivo en"nodo-mongo"Y nombre"índice.js".

Después de eso, abra el "paquete.json"Archivo y realice los siguientes cambios para hacer el"índice.js"Archivo ejecutable.

Una vez que haya terminado, guarde los cambios (Ctrl+S).

Paso 2: Abre tu "índice.js" archivo. Después de eso, use el siguiente código para hacer el intento de conexión. La URL de conexión debe copiarse del Atlas MongoDB.

Para la URL de conexión, debes ir a "Etapa 4"De subsección"- MongoDB Atlas" en el "Requisitos previos" sección. Para facilitar, la imagen se adjunta a continuación:

Paso 3: Ahora, abra su terminal (o puede usar el terminal interior "Código de Visual Studio"También) y ejecute el siguiente comando para probar la conexión:

La imagen a continuación muestra que la conexión es exitosa a medida que el comando devuelve un "conexión exitosa" mensaje.

Índice de inicio de $ npm.js

Creación de una base de datos y colección utilizando NodeJS y MongoDB

Una vez que haya establecido una conexión con éxito. Ahora puede realizar varias operaciones de MongoDB utilizando NodeJs. Aquí hemos realizado algunos pasos para crear la base de datos y la colección.

Paso 1 (opcional): Antes de la creación de la base de datos, echemos un vistazo a la lista de bases de datos utilizando el siguiente comando en Mongo Shell.

> Mostrar dbs

Se puede observar que solo hay 3 bases de datos.

Paso 2: Hemos creado un nuevo .js archivo y lo llamó "base de datos.js". Incrustar el siguiente código en el "base de datos.js" archivo. El código creará una base de datos llamada "Linuxhint "Y una colección llamada"personal".

Código

// Importar controlador MongoDB
var mongoClient = require ('MongoDB').Mongocliente;
// Linuxhint_MongoDB es el nombre de la base de datos que estamos creando aquí!!
var url = "mongodb: // localhost: 27017/linuxhint";
// hacer que el cliente conecte!!
Mongocliente.Connect (url, function (err, cliente)
var db = cliente.db ('Linuxhint');
If (err) tirar err;
// se creará una colección llamada "personal"!!
db.createCollection ("Staff", Function (err, resultado)
If (err) tirar err;
consola.registrar ("creó con éxito la base de datos y la colección");
cliente.cerca();
);
);

Imagen

Abra su terminal y pruebe el código ejecutando el "base de datos.js"Archivo en su terminal:

Base de datos de $ nodo.js

Paso 3 (opcional pero recomendado): Aunque el archivo se ha ejecutado con éxito, se recomienda verificar la existencia de la base de datos recién creada y la colección. Para eso, ejecute los siguientes comandos:

> Mostrar dbs
> Use Linuxhint
> Mostrar colecciones

Insertar documentos usando NodeJS y MongoDB

En MongoDB, hay dos posibilidades para insertar documentos:

Insertar un documento: Para la inserción de un documento, el insertone () Se utiliza el método de MongoDB. Para esto, un nuevo archivo "inserto.js"Se crea, dentro del"nodo-mongo"Directorio. El siguiente código agregará solo un documento al "empleados"Colección del"Linuxhint"Base de datos.

Código

var mongoClient = require ('MongoDB').Mongocliente;
var url = "mongodb: // localhost: 27017/";
Mongocliente.Connect (url, function (err, db)
If (err) tirar err;
var dbo = db.DB ("Linuxhint");
var myobj = nombre: "Alen", designación: "autor";
dbo.Colección ("Empleados").insertone (myobj, function (err, res)
If (err) tirar err;
consola.log ("ha insertado un documento");
db.cerca();
);
);

Imagen

Ahora, abra su terminal y ejecute el comando mencionado a continuación:

$ nodo insertone.js

Insertar múltiples documentos: Para la inserción de múltiples documentos, hemos creado un nuevo .js archivo y lo llamó "insertar.js". El siguiente código lo ayudará a insertar múltiples documentos en el "personal"Colección del"Linuxhint"Base de datos.

Código

var mongoClient = require ('MongoDB').Mongocliente;
var url = "mongodb: // localhost: 27017/";
Mongocliente.Connect (url, function (err, db)
If (err) tirar err;
var dbo = db.DB ("Linuxhint");
// Creó un nuevo OBJ para insertar documentos
var insertobj = [
Nombre: 'Sam', Designation: 'Team-Lead',
Nombre: 'John', Designation: 'Autor',
Nombre: 'Kane', Designation: 'Instructor',
nombre: 'miln', designación: 'editor de video'
];
// Como hay múltiples documentos, se usa inserto () aquí
dbo.Colección ("Personal").InsertMany (InsertObj, function (err, res)
If (err) tirar err;
consola.log ("Ha insertado" + RES.Documentos de InsertedCount + "con éxito!!");
db.cerca();
);
);

Imagen

Use el comando a continuación para ejecutar el "insertar.js" archivo:

Inserto de nodo $.js

Encontrar documentos en NodeJS y MongoDB

En MongoDB, el método find () se utiliza para recuperar documentos de cualquier colección de una base de datos. Hemos creado un "encontrar.js"Archivo que contiene el código para obtener documentos del"personal"Colección del"Linuxhint"Base de datos. El método Código para buscar () se proporciona a continuación:

Código

var mongoClient = require ('MongoDB').Mongocliente;
var url = "mongodb: // localhost: 27017/";
Mongocliente.Connect (url, function (err, db)
If (err) tirar err;
var dbo = db.DB ("Linuxhint");
dbo.Colección ("Personal").encontrar().toArray (function (err, resultado)
If (err) tirar err;
consola.log (resultado);
db.cerca();
);
);

Imagen

Ejecute el siguiente comando para ejecutar el archivo "encontrar.js"Y la salida mostrará los documentos del"personal" recopilación:

$ nodo encontrar.js

Actualización de documentos en NodeJS y MongoDB

Se dice que la gestión de datos de cualquier organización es lo suficientemente buena si mantienen sus datos actualizados. MongoDB proporciona varios métodos para actualizar documentos como, updateOne (), UpdateMany ().

Actualizar un documento: Para esto, hemos creado un nuevo archivo y lo llamamos "updateOne.js". Como puede existir múltiples documentos que tienen "designación" El valor es igual a "Autor", pero updateOne () actualizará el primer documento que coincida con la condición. Esta operación se lleva a cabo utilizando el siguiente código:

Código

var mongoClient = require ('MongoDB').Mongocliente;
var url = "mongodb: // 127.0.0.1: 27017/";
Mongocliente.Connect (url, function (err, db)
If (err) tirar err;
var dbo = db.DB ("Linuxhint");
var cond = designación: "autor";
var ch_val = $ set: designación: "interno", estado: "nueva contratación";
dbo.Colección ("Personal").updateOne (cond, ch_val, function (err, res)
If (err) tirar err;
consola.registro ("exitoso!! El estado se actualiza!!");
db.cerca();
);
);

Imagen

Puedes ejecutar el "updateOne.jsArchivo "utilizando el siguiente comando en el terminal:

$ nodo updateOne.js

Actualizar múltiples documentos: Para actualizar múltiples documentos, MongoDB proporciona soporte del método UpdateMany (). También usaremos este método en esta sección.

Un nuevo archivo (actualizar.js) se crea que reside dentro del "nodo-mongo"Directorio. Estamos actualizando solo aquellos documentos que tienen el valor del campo de designación "Jefe de equipo"Y el siguiente código nos ayudará a este respecto:

Nota: La operación se aplica en el "personal"Colección de base de datos"Linuxhint".

Código

var mongoClient = require ('MongoDB').Mongocliente;
var url = "mongodb: // 127.0.0.1: 27017/";
Mongocliente.Connect (url, function (err, db)
If (err) tirar err;
var dbo = db.DB ("Linuxhint");
var cond = Designation: "Team-Lead";
var ch_val = $ set: status: "Promoted", new_designation: "Manager";
dbo.Colección ("Personal").UpdateMany (cond, ch_val, function (err, res)
If (err) tirar err;
consola.registro (res.resultado.Los documentos nModified + "se han actualizado!!");
db.cerca();
);
);

Imagen

Eliminar documentos en NodeJS y MongoDB

Al igual que los métodos de inserción y actualización, puede eliminar uno y múltiples documentos. Entonces, tenemos dos posibilidades aquí:

Eliminar un documento: Para eliminar un solo documento, debe usar el Deleteone () Método de MongoDB. Para esto, un nuevo "deletee.jsSe crea un archivo que contiene el código. El código que se muestra a continuación eliminará el documento que coincida "nombre"El valor es igual a"Miln":

Imagen

var mongoClient = require ('MongoDB').Mongocliente;
var url = "mongodb: // localhost: 27017/";
Mongocliente.Connect (url, function (err, db)
If (err) tirar err;
var dbo = db.DB ("Linuxhint");
var cond = nombre: 'miln';
dbo.Colección ("Personal").deleteeone (cond, function (err, obj)
If (err) tirar err;
consola.Log ("Un documento eliminado!!");
db.cerca();
);
);

Código

$ nodo deletee.js

Eliminar múltiples documentos: MongoDB proporciona soporte para eliminar múltiples documentos a la vez y uno puede usar el Deletemany () método para hacerlo. Hemos creado un nuevo archivo "borrar.js"Y este archivo se coloca en el"nodo-mongo"Directorio. El código que eliminará múltiples documentos, tras la ejecución exitosa del comando. El comando busca los documentos donde el "designación" el campo es igual a "Autor".

Nota: El nombre de la base de datos utilizado en este ejemplo es "Linuxhint"Y la colección utilizada aquí es"empleados".

Código

var mongoClient = require ('MongoDB').Mongocliente;
var url = "mongodb: // localhost: 27017/";
Mongocliente.Connect (url, function (err, db)
If (err) tirar err;
var dbo = db.DB ("Linuxhint");
var myQuery = designación: "autor";
dbo.Colección ("Empleados").deletemany (myQuery, function (err, obj)
If (err) tirar err;
consola.log ("La eliminación es exitosa");
db.cerca();
);
);

Imagen

Para ejecutar el "borrar.js"Archivo, ejecute el siguiente comando en su terminal Ubuntu:

$ nodo eliminar.js

Conclusión

NodeJS es un entorno de tiempo de ejecución bien conocido que se utiliza principalmente para la programación del lado del servidor. Mientras que MongoDB es una conocida base de datos NoSQL que almacena y administra los datos almacenados. En este artículo, hemos presentado un tutorial de NodeJS y MongoDB. Siguiendo esta guía, ha aprendido a conectar el servidor MongoDB con el entorno NodeJS y algunas operaciones básicas de MongoDB. Una vez que la conexión se establece con éxito, puede realizar todas las operaciones relacionadas con MongoDB, como hemos demostrado las formas, insertar, actualizar, eliminar, encontrar documentos en el entorno NodeJS MongoDB. Esta guía también ayudará a varios programadores que están trabajando en NodeJS y MongoDB.