Cómo empezar a trabajar con MongoDB en 10 minutos

por Navindu Jayatilake

MongoDB es un rico documento orientado a la base de datos NoSQL.

Si eres un principiante completo de NoSQL, te recomiendo que eches un vistazo rápido a mi artículo de NoSQL publicado anteriormente.

Hoy, quería compartir algunas de las cosas básicas sobre los comandos MongoDB, como consultas, filtrado de datos, eliminación, actualización, etc.

Bien, basta de charla, ¡pongámonos a trabajar!Configuración

?

Para trabajar con MongoDB, primero debe instalar MongoDB en su computadora. Para hacer esto, visite el centro de descargas oficial y descargue la versión para su sistema operativo específico. Aquí, he usado ventanas.

Después de descargar la configuración de MongoDB community server, pasará por un proceso de instalación’ siguiente tras siguiente’. Una vez hecho esto, dirígete a la unidad C en la que has instalado MongoDB. Vaya a archivos de programa y seleccione el directorio MongoDB.

C: -> Program Files -> MongoDB -> Server -> 4.0(version) -> bin

En el directorio bin, encontrará un par de archivos ejecutables interesantes.

  • mongod
  • mongo

Vamos a hablar de estos dos archivos.

mongod significa «Demonio Mongo». mongod es un proceso de fondo utilizado por MongoDB. El propósito principal de mongod es administrar todas las tareas del servidor MongoDB. Por ejemplo, aceptar solicitudes, responder al cliente y administrar la memoria.

mongo es un shell de línea de comandos que puede interactuar con el cliente (por ejemplo, administradores de sistemas y desarrolladores).

Ahora veamos cómo podemos poner en marcha este servidor. Para hacer eso en Windows, primero necesita crear un par de directorios en su unidad C. Abra el símbolo del sistema dentro de la unidad C y haga lo siguiente:

C:\> mkdir data/dbC:\> cd dataC:\> mkdir db

El propósito de estos directorios es que MongoDB requiere una carpeta para almacenar todos los datos. La ruta predeterminada del directorio de datos de MongoDB es /data/db en la unidad. Por lo tanto, es necesario que proporcionemos esos directorios como tal.

Si inicia el servidor MongoDB sin esos directorios, probablemente verá el siguiente error:

intentar iniciar el servidor mongodb sin directorios \data\db

Después de crear esos dos archivos, diríjase de nuevo a la carpeta bin que tiene en su directorio mongodb y abra su shell dentro eso. Ejecute el siguiente comando:

mongod

Voilà! ¡Ahora nuestro servidor MongoDB está en funcionamiento! ?

Para trabajar con este servidor, necesitamos un mediador. Por lo tanto, abra otra ventana de comandos dentro de la carpeta bind y ejecute el siguiente comando:

mongo

Después de ejecutar este comando, navegue hasta el shell en el que ejecutamos el comando mongod (que es nuestro servidor). Verás un mensaje de «conexión aceptada» al final. Eso significa que nuestra instalación y configuración es correcta!

simplemente ejecutar en el mongo shell:

db
inicialmente, usted tiene una base de datos llamada ‘prueba’

Configuración de Variables de Entorno

Para ahorrar tiempo, usted puede configurar las variables de entorno. En Windows, esto se hace siguiendo los menús a continuación:

Advanced System Settings -> Environment Variables -> Path(Under System Variables) -> Edit

Simplemente copie la ruta de acceso de nuestra carpeta bin y presione OK! En mi caso es C:\Program Files\MongoDB\Server\4.0\bin

¡Ya está todo listo!

Trabajando con MongoDB

Hay un montón de GUI (Interfaz gráfica de usuario) para trabajar con el servidor MongoDB, como MongoDB Compass, Studio 3T, etc.

Proporcionan una interfaz gráfica para que pueda trabajar fácilmente con su base de datos y realizar consultas en lugar de usar un shell y escribir consultas manualmente.

Pero en este artículo usaremos símbolo del sistema para hacer nuestro trabajo.

Ahora es el momento de que nos sumerjamos en los comandos MongoDB que le ayudarán a usar con sus proyectos futuros.

  1. Abra el símbolo del sistema y escriba mongod para iniciar el servidor MongoDB.

2. Abra otro shell y escriba mongo para conectarse al servidor de base de datos MongoDB.

1. Encontrar la base de datos actual está en

db

Este comando mostrará la base de datos actual en la que están. test es la base de datos inicial que viene de forma predeterminada.

2. Listado de bases de datos

show databases

actualmente tengo cuatro bases de datos. Ellos son: CrudDBadminconfig y local.

3. Ir a una determinada base de datos

use <your_db_name>

Aquí me he mudado a la etiqueta local base de datos. Puede comprobar esto si prueba el comando db para imprimir el nombre de la base de datos actual.

4. Creación de una Base de Datos

Con RDBMS (Relational Database Management Systems) tenemos Bases de Datos, Tablas, Filas y Columnas.

Pero en bases de datos NoSQL, como MongoDB, los datos se almacenan en formato BSON (una versión binaria de JSON). Se almacenan en estructuras llamadas «colecciones».

En las bases de datos SQL, son similares a las tablas.

SQL términos y NoSQL términos de Victoria Malaya

Bien, vamos a hablar de cómo podemos crear una base de datos en el mongo shell.

use <your_db_name>

Espere, hemos tenido este comando antes! ¿Por qué lo estoy usando de nuevo?!

En el servidor MongoDB, si su base de datos ya está presente, usando ese comando navegará a su base de datos.

Pero si la base de datos no está ya presente, entonces MongoDB server va a crear la base de datos por usted. Luego, navegará hacia él.

Después de crear una nueva base de datos, ejecutar el comando show database no mostrará la base de datos recién creada. Esto se debe a que, hasta que no tenga ningún dato (documento), no se mostrará en su lista de bases de datos.

5. Creación de una colección

Navegue por su base de datos recién creada con el comando use.

En realidad, hay dos formas de crear una colección. Veamos ambos.

es Una forma de insertar datos en la colección:

db.myCollection.insert({"name": "john", "age" : 22, "location": "colombo"})

Esto va a crear su colección myCollection incluso si la colección no existe. Luego insertará un documento con name y age. Estas son colecciones sin límite.

La segunda forma se muestra a continuación:

2.1 Creación de una Colección sin límite

db.createCollection("myCollection")

2.2 Creación de una Colección con límite

db.createCollection("mySecondCollection", {capped : true, size : 2, max : 2})

De esta manera, creará una colección sin insertar datos.

Una «colección limitada» tiene un recuento máximo de documentos que evita que los documentos se desborden.

En este ejemplo, he habilitado el límite, estableciendo su valor en true.

El size : 2 significa un límite de dos megabytes, y max: 2 establece el número máximo de documentos a dos.

Ahora, si intenta insertar más de dos documentos en mySecondCollection y usa el comando find (del que hablaremos pronto), solo verá los documentos insertados más recientemente. Tenga en cuenta que esto no significa que el primer documento haya sido eliminado, simplemente no se muestra.

6. Insertar datos

Podemos insertar datos en una nueva colección, o en una colección que se haya creado anteriormente.

maneras en que los datos pueden ser almacenados en un JSON

Hay tres métodos de inserción de datos.

  1. insertOne() se utiliza para insertar un único documento.
  2. insertMany() se utiliza para insertar más de un documento.
  3. insert() se utiliza para insertar documentos tantos como desee.

A continuación se muestran algunos ejemplos:

  • insertOne()
db.myCollection.insertOne( { "name": "navindu", "age": 22 })
  • insertMany()
db.myCollection.insertMany()

El insert() método es similar a la etiqueta insertMany() método.

Además, observe que hemos insertado una nueva propiedad llamada location en el documento para John Doe. Por lo tanto, si usa find, solo verá john doe la propiedad location está adjunta.

Esto puede ser una ventaja cuando se trata de bases de datos NoSQL como MongoDB. Permite la escalabilidad.

introducido Correctamente los datos

7. Consulta de datos

Así es como puede consultar todos los datos de una colección:

db.myCollection.find()
result

Si desea ver estos datos de forma más limpia, simplemente agregue .pretty() al final de la misma. Esto mostrará el documento en formato JSON bastante impreso.

db.myCollection.find().pretty()
resultado

Espere…En estos ejemplos, ¿usted acaba de darse cuenta de algo como _id? ¿Cómo llegó ahí?

Bueno, cada vez que inserta un documento, MongoDB agrega automáticamente un campo _id que identifica de forma única cada documento. Si no desea que se muestre, simplemente ejecute el siguiente comando

db.myCollection.find({}, _id: 0).pretty()

A continuación, veremos el filtrado de datos.

Si desea mostrar algún documento específico, puede especificar un solo detalle del documento que desea mostrar.

db.myCollection.find( { name: "john" })
resultado

digamos que usted quiere sólo para mostrar a la gente cuya edad sea de menos de 25. Puede usar $lt para filtrar esto.

db.myCollection.find( { age : {$lt : 25} })

del mismo modo, $gt es mayor que, $lte es «menor que o igual a», $gte es «mayor que o igual a» y $ne «no es igual».

8. Actualización de documentos

Supongamos que desea actualizar la dirección o la edad de alguien, ¿cómo podría hacerlo? Bueno, a ver el siguiente ejemplo:

db.myCollection.update({age : 20}, {$set: {age: 23}})

el primer argumento es El campo del documento que desea actualizar. Aquí, especifico age para la simplicidad. En el entorno de producción, puede usar algo como el campo _id.

siempre es mejor usar algo como _id actualizar una única fila. Esto se debe a que varios campos pueden tener los mismos agey name. Por lo tanto, si actualiza una sola fila, afectará a todas las filas que tengan el mismo nombre y antigüedad.

resultado

Si usted actualización de un documento de esta manera con una nueva propiedad, digamos location por ejemplo, el documento será actualizado con el nuevo atributo. Y si haces un find, el resultado será:

resultado

Si usted necesita para eliminar una propiedad de un único documento, se podría hacer algo como esto (digamos que usted quiere age que se ha ido):

db.myCollection.update({name: "navindu"}, {$unset: age});

9. La eliminación de un documento

Como he mencionado anteriormente, cuando, actualizar o eliminar un documento, sólo se necesita especificar la etiqueta _id no sólo nameagelocation.

db.myCollection.remove({name: "navindu"});

10. Eliminar una colección

db.myCollection.remove({});

Nota, esto no es igual al método drop(). La diferencia es que drop() se usa para eliminar todos los documentos dentro de una colección, pero el método remove() se usa para eliminar todos los documentos junto con la colección en sí.

Operadores lógicos

MongoDB proporciona operadores lógicos. La siguiente imagen resume los diferentes tipos de operadores lógicos.

referencia: Manual de MongoDB

digamos que usted desea mostrar a la gente cuya edad es inferior a 25, y también a su ubicación, es Colombo. ¿Qué podríamos hacer?

Podemos usar el operador $and!

db.myCollection.find({$and:});

Por último, pero no menos importante, hablemos de agregación.

Agregación

Un recordatorio rápido de lo que aprendimos sobre las funciones de agregación en bases de datos SQL:

funciones de agregación en bases de datos SQL. ref: Tutorial Gateway

En pocas palabras, la agregación agrupa valores de varios documentos y los resume de alguna manera.

Imagine si tuviéramos estudiantes masculinos y femeninos en una colección recordBook y deseáramos un recuento total de cada uno de ellos. Para obtener la suma de machos y hembras, podríamos usar la función agregada $group.

db.recordBook.aggregate();
result

Terminando

Por lo tanto, hemos discutido conceptos básicos de MongoDB que puede necesitar en el futuro para crear una aplicación. Espero que hayan disfrutado de este artículo, ¡gracias por leer!



Deja una respuesta

Tu dirección de correo electrónico no será publicada.