MongoDB Not Equal
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.
Cómo utilizar el operador $ne
Sección titulada «Cómo utilizar el operador $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().
Consulta afirmativa vs Not Equal
Sección titulada «Consulta afirmativa vs Not Equal»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'});Aplicar el operador $ne
Sección titulada «Aplicar el operador $ne»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'}});Ejemplo completo
Sección titulada «Ejemplo completo»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());}Descarga el código de MongoDB Not Equal
Descubre cómo hacer consultas en MongoDB Not Equal usando el operador $ne para obtener resultados que no cumplen una condición específica. ¡Optimiza tus datos!