モンゴースを扱うもう一つの問題。以下の例のように文書内のtask
を更新したいと思います。 たとえば、タスクのcompleted
フィールドを_id=1
でproject
に更新し、name
受信トレイに更新したいとします。 1つのクエリで実行できますか?モンゴースで二重ネストされた配列のフィールドを更新
{
"_id" : ObjectId("5702e0c732faf57c7bb9ebe9"),
"email" : "[email protected]",
"projects" : [
{
"_id" : "1",
"name" : "inbox",
"tasks" : [
{
"_id" : "1",
"text" : "First task",
"labels" : [
"home",
"phone"
],
"dueDate" : "2016-03-18T11:10:00",
"created" : "2016-03-10T10:10:00",
"completed" : true
},
{
"_id" : "2",
"text" : "Second task",
"labels" : [
"home",
"phone"
],
"dueDate" : "2016-03-18T11:10:00",
"created" : "2016-03-10T10:10:00",
"completed" : false
},
]
},
{
"_id" : "2",
"name" : "work",
"tasks" : [
{
"_id" : "4",
"text" : "Fourth",
"labels" : [
"home",
"phone"
],
"dueDate" : "2016-03-18T11:10:00",
"created" : "2016-03-10T10:10:00",
"completed" : false
}
]
}
]
}
最後に、forEachを使用してネストされた配列要素をルックアップして更新するために、コールバック内で必要なことを行いました – arthurr