Каков запрос обновить данные ниже с помощью mongoose. Таким образом, 3 поля будут обновлены. Лучшие родительские очки, категории очков и тегов.Mongoose, обновление ребенка затронет всех родителей?
{
"_id": "561fba5e7fac41a4055fad45",
"fullName": "Test",
"points": 45,
"level": 1,
"categories": [
{
"name": "Computer Science",
"points": 15,
"level": 1,
"_id": "561fba5e7fac41a4055fad46",
"tags": [
{
"name": "C#",
"points": 10,
"level": 1,
"_id": "561fba5e7fac41a4055fad47"
},
{
"name": "Java",
"points": 5,
"level": 1,
"_id": "561fba5e7fac41a4055ert12"
}
]
},
{
"name": "History",
"points": 30,
"level": 2,
"_id": "562407d4e3edf2113f61ac37",
"tags": [
{
"name": "WW2",
"points": 30,
"level": 2,
"_id": "56240797e3edf2113f61ac36"
}
]
}
]
}
к этому. Когда пользователь получает точку от определенного тега, он будет влиять на всех родителей. Скажем, пользователь получает 10 очков от C#, тогда мне нужно обновить mongodb.
{
"_id": "561fba5e7fac41a4055fad45",
"fullName": "Test",
**"points": 55,**
"level": 1,
"categories": [
{
"name": "Computer Science",
**"points": 25,**
"level": 1,
"_id": "561fba5e7fac41a4055fad46",
"tags": [
{
"name": "c#",
**"points": 20,**
"level": 1,
"_id": "561fba5e7fac41a4055fad47"
},
{
"name": "Java",
"points": 5,
"level": 1,
"_id": "561fba5e7fac41a4055ert12"
}
]
},
{
"name": "History",
"points": 30,
"level": 2,
"_id": "562407d4e3edf2113f61ac37",
"tags": [
{
"name": "WW2",
"points": 30,
"level": 2,
"_id": "56240797e3edf2113f61ac36"
}
]
}
]
}
Возможной копия [Обновления вложенных массивов в MongoDB через Монго shell] (http://stackoverflow.com/questions/18573117/updating-nested-arrays-in-mongodb-via-mongo-shell) – chridam
Возможный дубликат [Обновить все элементы в массиве в mongodb] (http: // stackoverflow.com/questio ns/33186596/update-all-elements-in-an-array-in-mongodb) – styvane
Это не дубликаты, поскольку я пытаюсь увеличить все верхние родительские поля. @ user3100115 –