Al comparar con una matriz, si especifica la consulta de esta manera:
{ exercises: { _id: exerciseID } }
MongoDB intenta hacer un coincidencia exacta en el documento
. Entonces, en este caso, MongoDB solo coincidiría con documentos en los exercises
matriz de la forma exacta { _id: ObjectId("...") }
. Porque los documentos en los exercises
tiene otros campos, esto nunca producirá una coincidencia, incluso si el _id
son iguales.
Lo que desea hacer en su lugar es consultar un campo de los documentos en la matriz . El documento de consulta completo se vería así:
{
user: user.id,
"exercises._id": exerciseID
}