Saat mencocokkan dengan larik, jika Anda menentukan kueri seperti ini:
{ exercises: { _id: exerciseID } }
MongoDB mencoba melakukan kecocokan persis pada dokumen
. Jadi dalam hal ini, MongoDB hanya akan mencocokkan dokumen di exercises
array dengan bentuk persis { _id: ObjectId("...") }
. Karena dokumen dalam exercises
memiliki bidang lain, ini tidak akan pernah menghasilkan kecocokan, bahkan jika _id
s adalah sama.
Yang ingin Anda lakukan adalah meminta kolom dokumen dalam array . Dokumen kueri lengkap kemudian akan terlihat seperti ini:
{
user: user.id,
"exercises._id": exerciseID
}