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 }
};