Consultar documentos MongoDB utilizando find()

Avatar Tutor | octubre 23, 2018

Las operaciones de consulta básicas cubren las operaciones simples como obtener todos los documentos en una colección de MongoDB. Veamos un ejemplo de cómo podemos lograr esto.

Todo nuestro código se ejecutará en el shell de comandos de JavaScript de MongoDB. Tenga en cuenta que tenemos una colección llamada “Employee” en nuestra base de datos MongoDB y ejecutamos el siguiente comando.

db.Employee.find().forEach(printjson)

El comando de búsqueda es una función incorporada que se utiliza para recuperar los documentos de la colección.

Si el comando se ejecuta con éxito, se mostrará la siguiente salida

db.Employee.find().forEach(printjson)

		{
			"Employeeid" : 1,
			"EmployeeName" : "Smith"
		},
		{
			"Employeeid"   : 2,
			"EmployeeName" : "Mohan"
		},
		{
			"Employeeid"   : 3,
			"EmployeeName" : "Joe"
		},

La salida muestra todos los documentos que están presentes en la colección.

También podemos agregar criterios a nuestras consultas para que podamos obtener documentos basados en ciertas condiciones.

Veamos un par de ejemplos de cómo podemos lograr esto.

db.Employee.find({EmployeeName: "Smith"}).forEach(printjson);

Aquí queremos encontrar a un empleado cuyo nombre es “Smith” en la colección, por lo tanto, ingresamos los criterios de filtro como EmployeeName: “Smith”

Si el comando se ejecuta con éxito, se mostrará la siguiente salida

db.Employee.find({EmployeeName : "Smith"}).forEach(printjson);

		{
			"Employeeid" : 1,
			"EmployeeName" : "Smith"
		}

La salida muestra que solo se devuelve el documento que contiene “Smith” como EmployeeName.

Ahora, echemos un vistazo a otro ejemplo de código que hace uso del criterio de búsqueda mayor que.

Cuando se incluye este criterio, en realidad busca aquellos documentos donde el valor del campo es mayor que el valor especificado.

db.Employee.find({Employeeid: {$gt: 2}}).forEach(printjson);

Aquí queremos buscar para todos los Empleados cuya identificación sea mayor que 2. El símbolo $gt se llama un operador de selección de consulta, y lo que significa simplemente es “mayor a”.

Si el comando se ejecuta con éxito, se mostrará la siguiente salida

db.Employee.find({Employeeid: {$gt: 2}}).forEach(printjson);

		{
			"Employeeid"   : 3,
			"EmployeeName" : "Joe"
		}

Se devuelven todos los documentos en los que el ID de empleado es mayor que 2.

MongoDB Cursor

Cuando la función db.collection.find () se utiliza para buscar documentos en la colección, el resultado devuelve un puntero a la colección de documentos devueltos que se denomina cursor.

De forma predeterminada, el cursor se iterará automáticamente cuando se devuelva el resultado de la consulta. Pero uno también puede ir explícitamente a través de los elementos devueltos en el cursor uno por uno.

Si ve el ejemplo a continuación, si tenemos 3 documentos en nuestra colección, el cursor apuntará al primer documento y luego recorrerá todos los documentos de la colección.

Ejemplo:

var myEmployee = db.Employee.find( { Employeeid : { $gt:2 }});

	while(myEmployee.hasNext())
	
	{

		print(tojson(myEmployee.next()));
	
	}

 


Written by Tutor