Las bases de datos NoSQL son bases de datos que almacenan y recuperan los datos que están presentes en un formato no tabular. Según el formato de los datos almacenados, las bases de datos NoSQL se dividen en 4 tipos principales:
- Valor clave
- Base de datos de gráficos
- Orientado a documentos
- Familia de columnas
Estas bases de datos están diseñadas para abordar las deficiencias de los RDBMS tradicionales y brindan alto rendimiento, disponibilidad y mayor escalabilidad (horizontalmente), al mismo tiempo que manejan datos que cambian constantemente su esquema a lo largo del tiempo. Una de las bases de datos NoSQL más populares que están disponibles en la actualidad es MongoDB.
MongoDB es una base de datos NoSQL escalable, de alto rendimiento, de código abierto y orientada a documentos, que fue desarrollada por 10gen en el año 2007. Está escrita en C++ y es compatible con una variedad de API en muchos lenguajes de programación.
Características clave de MongoDB:
- Soporte de índice completo para un alto rendimiento
- Escalable horizontalmente y tolerante a fallas (almacenamiento/fragmentación de datos distribuidos)
- Consultas ricas basadas en documentos para facilitar la lectura
- Replicación y conmutación por error para alta disponibilidad
- Asignar/Reducir para agregación
- Admite replicación maestro-esclavo
- Sin uniones ni transacciones
- Sin esquema rígido, lo que lo hace dinámico.
- Datos representados en JSON/BSON
¿Cuándo usar MongoDB?
MongoDB se puede utilizar en lugares que requieren consultas simples, fácil y rápida integración de datos y tienen datos cuya estructura cambia constantemente con el tiempo.
Ejemplos:
- sitios web de comercio electrónico
- Aplicaciones móviles
- Blogs y portales de gestión de contenidos
- Almacenamiento de datos geoespaciales
Al mismo tiempo, dado que no admite transacciones, no se puede utilizar en sistemas altamente transaccionales.
SQL frente a MongoDB
Los componentes usados en MySQL y MongoDB tienen diferentes terminologías, pero funciones similares.
sql | MongoDB |
---|---|
Base de datos | Base de datos |
Mesa | Recopilación |
Fila | Documento |
Columna | Campo |
Índice | Índice |
Instalación de MongoDB (en Windows):
Vaya al siguiente enlace ( https://www.mongodb.com/download-center/community ) y descargue MongoDB Community Server.
Desde aquí, descargue el archivo MSI e instale MongoDB en su computadora.
Una vez completada la instalación, abra la aplicación MongoDB Compass Community y seleccione la opción de conexión .
Ahora se ejecutará una instancia local de MongoDB en el host local, con el número de puerto 27017.
NodeJS y MongoDB:
Node.js, el entorno de servidor JavaScript de código abierto, tiene la capacidad de conectarse a bases de datos SQL y NoSQL, como MySQL y MongoDB (respectivamente). Para usar estas bases de datos, los módulos requeridos deben descargarse e instalarse mediante Node Package Manager (npm).
Para usar MongoDB, se debe instalar el módulo Mongoose .
-
Instalación de mangosta:
Abra el símbolo del sistema o terminal y escriba el siguiente comando para instalar el módulo Mongoose
npm install mongoose
Conexión a MongoDB usando Node.js
El siguiente script de Node.js se usa para conectarse a la instancia local de MongoDB.
var client = require('mongodb').MongoClient; var url = 'mongodb://localhost:27017/admin'; client.connect(url,{ useNewUrlParser: true }, function(err,db) { console.log("Connected"); db.close(); });
Explicación:
- Para conectarse a una base de datos/crear una base de datos, se debe crear un objeto MongoClient.
- Se debe especificar la URL de MongoDB, seguida del nombre de la base de datos.
- Usando la función de conexión del objeto MongoClient, se establece una conexión entre el servidor y MongoDB.
Nota: Aquí se utiliza la base de datos de administración.
Ejecutando el archivo Node.js:
Abra el símbolo del sistema y navegue a la carpeta que tiene el archivo js, y escriba el siguiente comando.
node filename.js
Note: If the database mentioned in the URL is not present in the MongoDB when a new document is added, the database is created.
Consultando datos de MongoDB:
El siguiente fragmento de código se utiliza para consultar datos de las bases de datos de MongoDB.
var client = require('mongodb').MongoClient; var url = 'mongodb://localhost:27017/'; client.connect(url,{ useNewUrlParser: true }, function(err,db) { var dbo=db.db("admin") var cursor = dbo.collection('geeks4geeks').find(); cursor.each(function (err,doc) { if(doc!=null) console.log(doc); }); db.close(); });
Explicación:
- Usando la URL, se establece una conexión con el servidor MongoDB.
- Usando la función DB, se crea una conexión a la base de datos de administración .
- Todos los documentos presentes en la colección geeks4geeks se recuperan y se muestran en la consola.
Nota: Aquí se utiliza la base de datos de administración, que contiene la colección geeks4geeks con algunos documentos.
Ejecutando el archivo Node.js:
Abra el símbolo del sistema y navegue a la carpeta que tiene el archivo js, y escriba el siguiente comando.
node filename.js
These are the documents present in the admin database’s geeks4geeks collection.
Publicación traducida automáticamente
Artículo escrito por MukkeshMckenzie y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA