Я хочу, чтобы иметь возможность: Найти документ с определенным идентификатором, затем найти документ в унаследованном массиве на основе shortID и обновить массив наборов этот встроенный документ, который соответствует краткому идентификатору.Обновление встроенного документа в массиве - Mongodb + Node Driver
Очевидно, что-то еще не нажало на меня.
Я следующая структура:
{
"id" : "5706e5b5cbc61e5bf3a9f4e7",
"legacy" : [
{
"shortID" : "B1zHAllg",
"timeStamp" : "Apr 16th 2016",
"sets" : [
{
"weight" : "7",
"reps" : "7"
},
{
"weight" : "7",
"reps" : "7"
}
]
},
{
"shortID" : "HyUVCegx",
"timeStamp" : "Apr 16th 2016",
"sets" : [
{
"weight" : "6",
"reps" : "6"
},
{
"weight" : "6",
"reps" : "6"
}
]
}
]
}
Я пробовал много вариантов, но чувствовала, что я был ближе всего с попытками следующего:
db.bench.findAndModify({query:{id:"5706e5b5cbc61e5bf3a9f4e7"},sort:{legacy:{$elemMatch:{shortID:"HyUVCegx"}}},update:{$set:{sets:[9]}}})
db.bench.update({id : "5706e5b5cbc61e5bf3a9f4e7", legacy:{$elemMatch:{shortID:"HyUVCegx"}}}, {$set : { sets: [{"weight":"5", "reps" :"10"}] }})
Идеальные! Спасибо тебе, Салем! –