Cómo hacer consultas en MongoDB - Consultas avanzadas, anidadas y complejas con estos comandos

A continuación en este nuevo post te mostraremos una pequeña guía para que aprendas a realizar consultas en MongoDB.

De esta manera podrás adquirir el conocimiento básico para saber si las bases de datos no relacionales se adaptan a nuestro esquema. De lo contrario será necesario buscar otra solución más adecuada.

Cómo Realizar Consultas en MongoDB

Con respecto a Mongo DB, podemos definirlo como un programa encargado de manejar bases de datos no relacionales. Es decir, que se comporta de forma diferente a MySQL o PostgreSQL.

Esto hace que ejecutar la estructura de datos se convierta en algo sin precedentes. Pero sin duda alguna, inicialmente las consultas se ven muy afectadas debido a ese comportamiento de MongoDB.

Índice()
  1. Pasos para instalar MongoDB
  2. Datos para el Entorno de Pruebas
  3. Cómo hacer consultas usando Find()
  4. Limitaciones al usar el Comando Find()

Pasos para instalar MongoDB

Antes de poder proceder a realizar consultas en MongoDB primero debemos completar su proceso de instalación. Esto no te tomará mucho tiempo, así que presta atención a las siguientes indicaciones.

  • Lo primero que debes hacer es entrar en la página oficial de MongoDB para descargar la versión adecuada para nuestro sistema operativo. Recuerda que es totalmente gratis y cuenta con soporte para sistemas muy conocidos y descargados, como es el caso de Linux, Mac OS X,  Solaris, o uno de los sistemas más descargados a nivel mundial: Windows.
  • Posteriormente cuando termine la descarga, tienes que iniciar el daemon mongo. Si estas usando Windows, tienes que iniciar exe. Pero para que funcione bien tienes que crear un directorio en una ruta que no necesite ningún permiso de administrador. Luego al iniciar mongod.exe le debes indicar que ruta tomar.
  • Ahora debes ingresar el siguiente comando de inicio:
$rutaMongodb/ mongod.ex - - dbpath “Unidad:\db\data”

instalacion de mongodb

  • En el comando anterior, “rutaMongodb” es la carpeta en la cual realizamos la instalación y “Unidad” es la letra del disco donde está la respectiva ruta para ingresar a “db/data”.
  • A continuación en la pantalla de la consola debemos ubicar el mensaje “waiting for connections”. Esto es un claro nos dice que el servicio está funcionando de forma satisfactoria.
  • Después de iniciar el servidor tienes que abrir otra consola y dirigirte de nuevo a la ruta de instalación de MongoDB. Una vez allí tienes que ubicar el cliente llamado "exe" y cuando lo ejecutes éste buscará conectarse con nuestro servicio.
  • Por otro lado, si no quieres instalar MongoDB, puedes acceder a la versión en línea de su web. En esta veremos una consola de MongoDB creada en JavaScript, lo cual nos facilita las tareas sino podemos instalarlo en nuestro equipo.

Datos para el Entorno de Pruebas

Una vez que ya podemos correr MongoDB, también podremos ingresar comandos. Pero para ello necesitamos varios datos de prueba que nos den la opción de evaluar las consultas. Para comenzar tenemos que dejarles los registros que puedan copiar y pegar en su terminal.

Con esto pueden tener algo dentro de la Base de datos para obtener resultados como los que te mostraremos a continuación

db.guiamongo.insert({"nombre": "Maria", "edad":"25", "genero":"Femenino",
 "pais":"Colombia" });db.guiamongo.insert({"nombre": "Pedro", "edad":"32", 
"genero":"Masculino", "pais":"Ecuador" });db.guiamongo.insert({"nombre": "Ramon", 
"edad":"18", "genero":"Masculino", "pais":"Honduras" });db.guiamongo.insert
({"nombre": "John", "edad":"22", "genero":"Masculino", "pais":"Argentina"
 });db.guiamongo.insert({"nombre": "Rosa", "edad":"45","genero":"Femenino",
 "pais":"Chile","idiomas":["Esp", "Ing", "Fra"] });

 

Después de haber ingresado todos los datos de forma adecuada, el entorno de pruebas está completo.

entorno de pruebas

Cómo hacer consultas usando Find()

En esta sección te hablaremos de la herramienta más importante para realizar consultas en MongoDB. Se trata del comando Find() que nos permite ubicar defectivamente los documentos necesarios para realizar nuestro trabajo.

En este caso, dichos documentos son parecidos a los registros ubicados en otros programas que también manejan bases de datos.

Para usar Find() rápidamente debes pasarle un array con todas las propiedades del documento a consultar. Con eso basta para que se haga el retorno de todo lo que cumpla con la respectiva condición establecida.

A continuación te mostraremos un ejemplo en el cual tenemos que localizar los documentos donde "género" sea "Femenino". Para llevarlo a acabo tienes que ingresar el siguiente comando en la consola:

db.guiamongo.find({“genero”:”Femenino”});

Luego veremos en la consola la manera en que MongoDB nos retorna los dos registros que ingresamos en el anterior entorno de pruebas.

Ahora podremos ver que los documentos están completos y quizás podamos necesitar solo un atributo. Si este es el caso, solo basta con pasar un segundo array a find() para indicar que necesitamos traer de dicho array.

A su vez, por defecto se añadirá la llave primaria_id. A continuación te mostraremos el comando para consultar solo los nombres de la consulta realizada anteriormente.

db.guiamongo.find({“genero”:”Femenino”}, {“nombre”:1});

Limitaciones al usar el Comando Find()

Una de las principales limitaciones de este comando es que no tenemos la opción de buscar y hacer condiciones con elementos del mismo archivo o documento. Como ejemplo tenemos lo siguiente: no podemos comparar el campo "edad" con otro campo que sea numérico del mismo documento.

Por otro lado al no existir relaciones entre nuestros documentos, resulta imposible ejecutar los llamados "joins". Es por ello que no podemos poseer una tabla de catálogos y solo añadir el respectivo código al primer documento.

¡Ya hemos terminado! Con esta pequeña guía ya podrás realizar consultas en MongoDB de forma rápida y sin ningún inconveniente ¡Nos vemos en el siguiente post!

Subir