MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Como usar o MongoDB $ ne na propriedade de objeto aninhado


Respondendo sua pergunta sobre como usar $ne :

O uso de $ne é o seguinte:
"field":{
  "$ne": yourValue
}

Em sua consulta deve ser como:
"user._id": {
  "$ne": req.user.id
}

Exemplo aqui

$ne O operador retornará todos os documentos em que o valor do campo não corresponde ao valor fornecido.

Como você fez, para acessar o campo aninhado é necessário usar a notação de ponto.

Além disso, para garantir que funcione, se seu esquema definir _id como ObjectId talvez seja necessário analisar req.user.id para ObjectId .
Mas se no seu esquema for uma string então deve funcionar.

Então tente (não testado):
const injected = {
  'user._id': { "$ne": req.user.id }
};