0
我有以下的JSON:MongoDB的更新嵌套數組
{
"_id" : ObjectId("57ce1a55899bf934e59edd0d"),
"project_name" : "Coupletones",
"list_users" : [
"testmail"
],
"iterations" : [
{
"iteration_name" : "Iteration1",
"tasks" : [ ]
},
{
"iteration_name" : "Iteration2",
"tasks" : [ ]
},
]
}
我希望能夠把事情成與迭代2.相關的任務陣列如何正確查詢並插入到正確的位置?這是我到目前爲止,但它總是插入與迭代1
var ans = collection_projects.update({
"project_name" : project_name,
"list_users" : email,
"iterations.iteration_name": iteration_name,
},
{$addToSet: {"iterations.$.tasks": {
task_name: task_name,
task_description : task_description,
task_assignee: task_assignee,
task_status : -1 } } }
);
相關的任務陣列我已經看到了這一點: MongoDB nested array query 但他只不過是想推到一個嵌套的數組。
的[位置更新操作](https://docs.mongodb.com/manual/reference/operator/update/positional/)更新它發現在第一元件數組,如[Shumi Gupta](http://stackoverflow.com/users/6326976/shumi-gupta)回答的那樣,您需要在de find/condition中包含要更新的元素。一個重要的通知,位置更新更新第一個和第一個元素。如果您需要更新數組中的多個元素,您(此時)需要在客戶端進行更新。有這個願望的JIRA票 – HoefMeistert