Het probleem is dat om de positionele $
te gebruiken
update-operator het arrayveld moet verschijnen als onderdeel van het querydocument.
MySchema.findOneAndUpdate(
{ "_id": questionId, "question.answers.author": "patrick" },
{ "$push": { "question.answers.$.comments": { "$each": [comment] } } },
function(err, doc) {
//Do something
}
)
Zoals vermeld in de documentatie :
MySchema.findOneAndUpdate(
{ "_id": questionId },
{ "$push": { "question.answers.1.comments": { "$each": [comment] } } },
function(err, doc) {
//Do something
}
)