sql >> Databáze >  >> NoSQL >> MongoDB

Jak používat MongoDB $ne na vlastnost vnořeného objektu

Odpověď na vaši otázku, jak používat $ne :

Použití $ne je následující:

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

Do vašeho dotazu by mělo být toto:

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

Příklad zde

$ne operátor vrátí všechny dokumenty, kde se hodnota pole neshoduje s danou hodnotou.

Jak jste již udělali, pro přístup k vnořenému poli je nutné použít tečkovou notaci.

Také pro zajištění funkčnosti, pokud vaše schéma definuje _id jako ObjectId možná je nutné analyzovat req.user.id na ObjectId .
Pokud je ale ve vašem schématu řetězec, mělo by to fungovat.

Takže zkuste (vůbec netestováno):

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



  1. ServiceStack:Obnovit kanál při ručním vyvolání služby?

  2. Seskupování a počítání v MongoDB

  3. Je přesouvání dokumentů mezi kolekcemi dobrý způsob, jak reprezentovat změny stavu v MongoDB?

  4. Udržujte název vlastnosti Id ve vloženém dokumentu s ovladačem mongo C#