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
}