Beim Abgleich mit einem Array, wenn Sie die Abfrage wie folgt angeben:
{ exercises: { _id: exerciseID } }
MongoDB versucht, einen genaue Übereinstimmung im Dokument
. In diesem Fall würde MongoDB also nur Dokumente in den exercises
abgleichen Array der exakten Form { _id: ObjectId("...") }
. Denn Dokumente in den exercises
andere Felder haben, wird dies niemals zu einer Übereinstimmung führen, selbst wenn die _id
s sind gleich.
Was Sie stattdessen tun möchten, ist fragt ein Feld der Dokumente im Array ab . Das vollständige Abfragedokument würde dann so aussehen:
{
user: user.id,
"exercises._id": exerciseID
}