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

Použití funkce MongoDB .findOne() s vnořenou hodnotou dokumentu

Při porovnávání s polem, pokud zadáte dotaz takto:

{ exercises: { _id: exerciseID } }

MongoDB se pokouší provést přesná shoda v dokumentu . Takže v tomto případě by MongoDB odpovídal pouze dokumentům v exercises pole v přesném tvaru { _id: ObjectId("...") } . Protože dokumenty v exercises mít jiná pole, nikdy to nevyvolá shodu, i když _id s jsou stejné.

Místo toho chcete udělat dotaz na pole dokumentů v poli . Úplný dokument dotazu by pak vypadal takto:

{
  user: user.id,
  "exercises._id": exerciseID
}


  1. Chyba MongoDb s php 7 na xampp CodeIgniter

  2. Lepší vysvětlení příkladů bson spec?

  3. Chyba databáze MongoDB:zmizela databáze

  4. Seřazené sady Redis a nejlepší způsob ukládání uid