Consultas mayor que en MongoDB

16/Nov/2013 MongoDB , , 1 Comentario

Siguiendo con las consultas en MongoDB ahora vamos a ver como podemos realizar consultas mayor que en MongoDB. Todas las consultas se articulan mediante el método .find() de MongoDB, es por ello que solamente variarán los filtros y documentos JSON que le pasemos como parámetro.

En este caso las consultas mayor que en MongoDB se apoyan sobre el operador $gt y $gte para las consultas mayor o igual que.

Vamos a partir de nuestra colección de ciudades para explicar como realizar consultas mayor que en MongoDB:

{
	"_id" : ObjectId("525ab02733b01a66a9dcbc5b"),
	"ciudad" : "Madrid",
	"habitantes" : 3233527
}
{
	"_id" : ObjectId("525ab02733b01a66a9dcbc5c"),
	"ciudad" : "Barcelona",
	"habitantes" : 1620943
}
{
	"_id" : ObjectId("525ab02733b01a66a9dcbc5d"),
	"ciudad" : "Valencia",
	"habitantes" : 797028
}
{
	"_id" : ObjectId("525ab02733b01a66a9dcbc5e"),
	"ciudad" : "Sevilla",
	"habitantes" : 702355
}
{
	"_id" : ObjectId("525ab02733b01a66a9dcbc5f"),
	"ciudad" : "Zaragoza",
	"habitantes" : 679624
}

Vamos a bucar ciudades que tengan más de un millón de habitantes. Es por ello que el campo que manejaremos será habitantes. Los operadores $gt y $gte funcionan sobre el valor (al igual que lo hacía el operador $ne).

Así el documento que compongamos será:

{$gt:1000000}

Que se anidará al documento con el campo sobre habitantes:

{habitantes:{$gt:1000000}}

Solo nos quedará poner las consultas mayor que en MongoDB dentro del método ..find().

  1. cursor = db.ciudades.find({habitantes:{$gt:1000000}});

Como todas las consultas .find() nos devolverá un cursor que tenemos que recorrer. El código completo para realizar consultas mayor que en MongoDB será:

  1. conn = new Mongo();
  2. db = conn.getDB("demografia");
  3.  
  4. cursor = db.ciudades.find({habitantes:{$gt:1000000}});
  5.  
  6. while (cursor.hasNext()) {
  7. printjson(cursor.next());
  8. }

Vídeos sobre MongoDB


Difunde el Conocimiento

Si te ha gustado el artículo o te ha sido de utilidad, no dejes de compartirlo con tus amigos en las redes sociales... Te estaremos muy agradecidos. :-D