sql >> Base de Datos >  >> NoSQL >> MongoDB

Cómo usar MongoDB $ ne en la propiedad del objeto anidado

Respondiendo a tu pregunta sobre cómo usar $ne :

El uso de $ne es el siguiente:

"field":{
  "$ne": yourValue
}

En su consulta debe ser como:

"user._id": {
  "$ne": req.user.id
}

Ejemplo aquí

$ne el operador devolverá todos los documentos donde el valor del campo no coincida con el valor dado.

Como has hecho, para acceder al campo anidado es necesario usar la notación de puntos.

Además, para garantizar que funcione, si su esquema define _id como ObjectId tal vez sea necesario analizar req.user.id a ObjectId .
Pero si en su esquema hay una cadena, entonces debería funcionar.

Así que intente (no probado en absoluto):

const injected = {
  'user._id': { "$ne": req.user.id }
};