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.
