У меня есть такая структура документа: (но со многими маркерами и формами)
{
markers : [
{
id : 1,
updateDate : 1538051924574,
forms : [
{
id : 2,
sent : false
}
]
}
]
}
И я хотел обновить form.sent до true, поэтому я сделал этот запрос:
updateOne({
}, {
$set: {
"markers.$[].forms.$[b].sent": true
}
}, {
arrayFilters: [
{"b.id": "2"}
]
})
Все работает так, как задумано, но теперь я хотел бы обновить markers.udpateDate для каждого обновления формы.Но у меня нет доступа к marker.id, я могу использовать только form.id.
У меня вопрос, могу ли я обновить родительский атрибут, используя только дочерний метод доступа?
Я уже пробовал что-то вроде этого:
updateOne({
}, {
$set: {
"markers.$[].forms.$[b].sent": true,
"markers.$[].updateDate": Date.now()
}
}, {
arrayFilters: [
{"b.id": "2"}
]
})
Но, как я думаю, он делаетобновить все маркеры в массиве ..
Если у кого-то есть идеи,
Спасибо