更新或插入对象的数组中(双重推)

发布于 2025-02-10 00:59:16 字数 3383 浏览 1 评论 0原文

集合中的最初文档将是:

{
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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文