При съпоставяне с масив, ако посочите заявката по този начин:
{ exercises: { _id: exerciseID } }
MongoDB се опитва да направи точно съвпадение в документа
. Така че в този случай MongoDB ще съответства само на документи в exercises
масив с точната форма { _id: ObjectId("...") }
. Тъй като документите в exercises
имат други полета, това никога няма да доведе до съвпадение, дори ако _id
s са еднакви.
Това, което искате да направите вместо това, е заявка за поле от документите в масива . Тогава пълният документ на заявката ще изглежда така:
{
user: user.id,
"exercises._id": exerciseID
}