MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Comment utiliser MongoDB $ne sur la propriété d'objet imbriqué

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