Podczas dopasowywania do tablicy, jeśli określisz zapytanie w ten sposób:
{ exercises: { _id: exerciseID } }
MongoDB próbuje wykonać dokładne dopasowanie w dokumencie
. Więc w tym przypadku MongoDB dopasuje tylko dokumenty w exercises
tablica dokładnie w postaci { _id: ObjectId("...") }
. Ponieważ dokumenty w exercises
mają inne pola, nigdy nie da dopasowania, nawet jeśli _id
s są takie same.
Zamiast tego chcesz zrobić zapytanie o pole dokumentów w tablicy . Kompletny dokument zapytania wyglądałby wtedy tak:
{
user: user.id,
"exercises._id": exerciseID
}