Répondre à votre question sur l'utilisation de $ne
:
L'utilisation de $ne
est le suivant :
"field":{
"$ne": yourValue
}
Votre requête devrait ressembler à :
"user._id": {
"$ne": req.user.id
}
Exemple ici
$ne
renverra tous les documents où la valeur du champ ne correspond pas à la valeur donnée.
Comme vous l'avez fait, pour accéder au champ imbriqué, il est nécessaire d'utiliser la notation par points.
Aussi, pour s'assurer que cela fonctionne, si votre schéma définit _id
comme ObjectId
peut-être est-il nécessaire d'analyser req.user.id
à ObjectId
.
Mais si dans votre schéma se trouve une chaîne, cela devrait fonctionner.
Alors essayez (pas testé du tout) :
const injected = {
'user._id': { "$ne": req.user.id }
};