Rispondendo alla tua domanda su come usare $ne
:
L'uso di $ne
è il seguente:
"field":{
"$ne": yourValue
}
Nella tua query dovrebbe essere come:
"user._id": {
"$ne": req.user.id
}
Esempio qui
$ne
l'operatore restituirà tutti i documenti in cui il valore del campo non corrisponde al valore specificato.
Come hai fatto, per accedere al campo nidificato è necessario utilizzare la notazione del punto.
Inoltre, per assicurarti che funzioni, se il tuo schema definisce _id
come ObjectId
forse è necessario analizzare req.user.id
a ObjectId
.
Ma se nel tuo schema è presente una stringa, dovrebbe funzionare.
Quindi prova (per niente testato):
const injected = {
'user._id': { "$ne": req.user.id }
};