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. | 
| $neselecciona los documentos donde el valor del campo no es igual al valor especificado, incluidos los documentos que no contienen el campo. | $notselecciona los documentos que no coinciden con la expresión del operador, incluidos los documentos que no contienen el campo. | 
| $neno admite expresiones regulares. | $notadmite expresiones regulares. | 
Para saber más sobre $ne y $not, visita la documentación oficial adjunta.
