更新或插入对象的数组中(双重推)
集合中的最初文档将是:
{
Canditate:"Clark weg",
Location:"California",
Education:"Graguate"
Match_Tasks:[]
}
我在代码中的迭代中得到响应,例如: 1次迭代响应:
{
Asignee:"[email protected]",
Task_ID:"ObjectID_(2)"
}
第一次迭代响应后,我的更新文档就像:
{
Canditate:"Clark weg",
Location:"California",
Education:"Graguate"
Match_Tasks:[{Asignee:"[email protected]",
Task_ID's:
[
{ID:"ObjectID_(2)"}
]
}
}
2 nd迭代响应:
{
Asignee:"[email protected]",
Task_ID:"ObjectID_(3)"
}
我的更新文档类似于:
{
Canditate:"Clark weg",
Location:"California",
Education:"Graguate"
Match_Tasks:[{Asignee:"[email protected]",
Task_ID's:
[
{ID:"ObjectID_(2)"}
]
},
{Asignee:"[email protected]",
Task_ID's:
[
{ID:"ObjectID_(3)"}
]
}
}
3 Rd和4th Repons: 第三回应:
{
Asignee:"[email protected]",
Task_ID:"ObjectID_(1)"
}
第四回应:
{
Asignee:"[email protected]",
Task_ID:"ObjectID_(2)"
}
我的第3 rd和第4次回复后我的更新文档:
{
Canditate:"Clark weg",
Location:"California",
Education:"Graduate"
Match_Tasks:[{Asignee:"[email protected]",
Task_ID's:
[
{ID:"ObjectID_(1)"},
{ID:"ObjectID_(2)"}
]
},
{{Asignee:"[email protected]",
Task_ID's:
[
{ID:"ObjectID_(3)"},
{ID:"ObjectID_(2)"}
]
}
}
我正在尝试使用Pymongo代码:
aggregate([{"$match":{"Canditate":"Clark weg"}},{"$set":{"Match_Tasks":{
"$map": {
"input": "$Match_Tasks",
"as": "Match_Tasks",
"in":
{"$cond":[{"$eq":["$Match_Tasks.Asignee",Asignee]},
{"$push":{"Match_Tasks.$.Task_ID's":{"$ID":Task_ID}}},
{"$push":{"Match_Tasks":{"Asignee":email,"Task_ID's":[{"$ID":Task_ID}]}}}]}}}} }])
My initial one of the document in a collection will be:
{
Canditate:"Clark weg",
Location:"California",
Education:"Graguate"
Match_Tasks:[]
}
I am getting response as a iteration in my code like:
1 st iteration response:
{
Asignee:"[email protected]",
Task_ID:"ObjectID_(2)"
}
After the 1st iteration response, My updated document is like:
{
Canditate:"Clark weg",
Location:"California",
Education:"Graguate"
Match_Tasks:[{Asignee:"[email protected]",
Task_ID's:
[
{ID:"ObjectID_(2)"}
]
}
}
2 nd iteration response:
{
Asignee:"[email protected]",
Task_ID:"ObjectID_(3)"
}
My updated document is like:
{
Canditate:"Clark weg",
Location:"California",
Education:"Graguate"
Match_Tasks:[{Asignee:"[email protected]",
Task_ID's:
[
{ID:"ObjectID_(2)"}
]
},
{Asignee:"[email protected]",
Task_ID's:
[
{ID:"ObjectID_(3)"}
]
}
}
3 rd and 4th reponses:
Third response:
{
Asignee:"[email protected]",
Task_ID:"ObjectID_(1)"
}
Fourth response:
{
Asignee:"[email protected]",
Task_ID:"ObjectID_(2)"
}
My updated document after my 3 rd and 4 th response:
{
Canditate:"Clark weg",
Location:"California",
Education:"Graduate"
Match_Tasks:[{Asignee:"[email protected]",
Task_ID's:
[
{ID:"ObjectID_(1)"},
{ID:"ObjectID_(2)"}
]
},
{{Asignee:"[email protected]",
Task_ID's:
[
{ID:"ObjectID_(3)"},
{ID:"ObjectID_(2)"}
]
}
}
I am trying with the pymongo code:
aggregate([{"$match":{"Canditate":"Clark weg"}},{"$set":{"Match_Tasks":{
"$map": {
"input": "$Match_Tasks",
"as": "Match_Tasks",
"in":
{"$cond":[{"$eq":["$Match_Tasks.Asignee",Asignee]},
{"$push":{"Match_Tasks.$.Task_ID's":{"$ID":Task_ID}}},
{"$push":{"Match_Tasks":{"Asignee":email,"Task_ID's":[{"$ID":Task_ID}]}}}]}}}} }])
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论