sql >> Database >  >> NoSQL >> MongoDB

MongoDB $ne gebruiken op geneste objecteigenschap

Uw vraag beantwoorden over het gebruik van $ne :

Het gebruik van $ne is als volgt:

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

In uw zoekopdracht zou moeten zijn als:

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

Voorbeeld hier

$ne operator zal alle documenten retourneren waarvan de veldwaarde niet overeenkomt met de gegeven waarde.

Zoals je hebt gedaan, moet je de puntnotatie gebruiken om toegang te krijgen tot het geneste veld.

Om er zeker van te zijn dat het werkt, als uw schema _id . definieert als ObjectId misschien is het nodig om req.user.id te ontleden naar ObjectId .
Maar als in je schema een string staat, dan zou het moeten werken.

Dus probeer (helemaal niet getest):

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



  1. Expres tijd verlopen en sessie opnieuw weergeven

  2. Hoe een document waarnaar wordt verwezen door een id in mongoDB uit php verwijderen?

  3. Cassandra vs. MongoDB

  4. 'autoIndexID' is geen geldige verzameloptie - mongoDB