Artículos
MongoDB

MongoDB Not Equal

14/Nov/2013

Si queremos hacer una consulta en MongoDB para obtener los resultados que no cumplan una condición vamos a tener que recurrir a una consulta MongoDB Not Equal. Y el operador que representa el MongoDB Not Equal es $ne.

Vamos a ver como utilizar el operador $ne en una consulta MongoDB. Si recordamos, las consultas en MongoDB se consiguen mediante el método .find() y los filtros se presentan mediante un documento JSON como parámetro del método .find(). Es por ello que para conseguir una sentencia de MongoDB Not Equal vamos a utilizar el operador $ne dentro del documento que pasemos al método .find().

Partiremos de una consulta afirmativa antes de aplicar un MongoDB Not Equal. Los datos sobre los que nos basamos son nuestra conocida colección de ciudades:

{
	"_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
}

Si queremos recuperar los datos de Madrid escribiremos lo siguiente:

cursor = db.ciudades.find({ciudad:'Madrid'});

Ahora vamos a consultar aquellas ciudades que no sean Madrid. Para ello utilizamos el operador $ne. El operador $ne se aplica sobre el contenido:

{$ne: 'Madrid}

Por lo cual, si este lo queremos aplicar sobre un campo, veremos que el documento JSON que representa nuestra consulta MongoDB Not Equal llevará un documento anidado. El JSON que lo representa es:

{ciudad:{$ne: 'Madrid}}

Vemos que el valor que aplicamos al campo ciudad es otro documento JSON con el operador MongoDB Not Equal $ne.

cursor = db.ciudades.find({ciudad:{$ne: 'Madrid}});

El código MongoDB que nos quedará será el siguiente:

conn = new Mongo();
db = conn.getDB("demografia");

cursor = db.ciudades.find({ciudad:{$ne:'Madrid'}});

while (cursor.hasNext()) {
  printjson(cursor.next());
}

Código Fuente

Descárgate el código fuente de MongoDB Not Equal
Y si te ha gustado nuestro código fuente puedes regalarnos una estrella Star

Vídeos sobre MongoDB

Disfruta también de nuestros artículos sobre MongoDB en formato vídeo. Aprovecha y suscribete a nuestro canal.

Test MongoDB

¿Te atreves a probar tus habilidades y conocimiento en MongoDB con nuestro test?

Test MongoDB
Suscribir
Notificar de
guest
1 Comentario
Recientes
Anteriores Más votados
Opiniones integradas
Ver todos los comentarios