sql >> Database teknologi >  >> NoSQL >> MongoDB

Sådan bruger du MongoDB $ne på indlejret objektegenskab

Besvarer dit spørgsmål om, hvordan du bruger $ne :

Brugen af ​​$ne er som følger:

"field":{
  "$ne": yourValue
}

Din forespørgsel skal være sådan:

"user._id": {
  "$ne": req.user.id
}

Eksempel her

$ne operatør returnerer alle dokumenter, hvor feltværdien ikke matcher den givne værdi.

Som du har gjort, er det nødvendigt at bruge priknotationen for at få adgang til det indlejrede felt.

For også at sikre, at det virker, hvis dit skema definerer _id som ObjectId måske er nødvendigt at analysere req.user.id til ObjectId .
Men hvis der er en streng i dit skema, burde det virke.

Så prøv (slet ikke testet):

const injected = {
  'user._id': { "$ne": req.user.id }
};



  1. Mongoose _id påvirket før lagring

  2. MongoEngine angiver læsepræference ved forespørgsel

  3. MongoDB dokumentversionsopdateringsproblem med JaVers

  4. Hvordan erstatter man NaN med null fra Mongo shell?