El operador $ne en MongoDB
Este artículo discutirá cómo funciona el operador $ne
en MongoDB. Además, enumeraremos sus diferencias con el operador $not
.
el operador $ne
en MongoDB
$ne
es un operador en MongoDB, que significa no igual. Esto compara el valor de un campo y comprueba si es igual.
Sintaxis:
{field: {$ne: value}}
Suponga que tiene los siguientes documentos en la colección empleado
.
> db.employee.find().pretty()
{"_id":1, "name":"Alice", "salary": 1500, "gender":"Female"}
{"_id":2, "name":"Bob", "salary": 2500, "gender":"male"}
{"_id":3, "name":"Jhon", "salary": 3500, "gender":"male"}
{"_id":4, "name":"Grace", "salary": 4500, "gender":"female"}
Ahora, quiere ver a todos los empleados masculinos
. Entonces, su consulta debería ser como la siguiente:
> db.employee.find({gender:{$ne: female}}).pretty()
{"_id":2, "name":"Bob", "salary": 2500, "gender":"male"}
{"_id":3, "name":"Jhon", "salary": 3500, "gender":"male"}
Otro ejemplo, digamos, se le ha pedido que muestre a la mujer cuyo salario es mayor o igual a 4000. Entonces, la consulta debería ser:
> db.employee.find({gender:{$ne: male}, salary:{$gte:4000}}).pretty()
{"_id":4, "name":"Grace", "salary": 4500, "gender":"female"}
Diferencia entre los operadores $not
y $ne
Ha visto la sintaxis del operador $ne
anterior. Si te diste cuenta, $ne
solo toma valores como parámetro.
Simplemente verifica si un documento tiene el valor exacto en el campo dado o no. En algunos casos, podríamos necesitar una expresión lógica en lugar de un valor constante; entonces, usaremos $not
.
Sintaxis:
{ field: { $not: { <operator-expression> } } }
Estas son las similitudes y diferencias entre $ne
y $not
:
$ne |
$not |
---|---|
Toma valores como parámetro. | Toma la expresión lógica como parámetro. |
No admite consultas anidadas en su interior. | Puede usar una consulta anidada dentro del operador $not . |
$ne selecciona los documentos donde el valor del campo no es igual al valor especificado, incluidos los documentos que no contienen el campo. |
$not selecciona los documentos que no coinciden con la expresión del operador, incluidos los documentos que no contienen el campo. |
$ne no admite expresiones regulares. |
$not admite expresiones regulares. |
Para saber más sobre $ne
y $not
, visita la documentación oficial adjunta.