Lors de la comparaison avec un tableau, si vous spécifiez la requête comme ceci :
{ exercises: { _id: exerciseID } }
MongoDB essaie de faire un correspondance exacte sur le document
. Donc, dans ce cas, MongoDB ne ferait correspondre que les documents dans les exercises
tableau de la forme exacte { _id: ObjectId("...") }
. Parce que les documents dans les exercises
avoir d'autres champs, cela ne produira jamais de correspondance, même si le _id
s sont les mêmes.
Ce que vous voulez faire à la place est interroger un champ des documents du tableau . Le document de requête complet ressemblerait alors à ceci :
{
user: user.id,
"exercises._id": exerciseID
}