mongodb中的多级嵌入式文档

2024-06-16 10:14:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图编辑文档中的某些字段

{
"_id": 5,
"Applicates": [

        {
            "School": "UCONN",
            "Name": "Mike",
            "Research": "cloud computing",
            "Budge": 5000,
            "appId": 100,
            "Time": "5/5/5-6/6/6",
            "citizenship": "us",
            "Evaluators": [
                {
                    "abstractScore": null,
                    "goalsObjectivesScore": null,
                    "evalNum": 1
                },
                {
                    "abstractScore": null,
                    "goalsObjectivesScore": null,
                    "evalNum": 2
                },
                {
                    "abstractScore": null,
                    "goalsObjectivesScore": null,
                    "evalNum": 3
                }
            ],
            "Major": "csc",
            "preAwards": "none",
            "Advisor": "Dr. pie"
        },
        {
            "School": "psu",
            "Name": "Tom",
            "Research": "topology",
            "Budge": 7500,
            "appId": 101,
            "Time": "1/1/1-2/2/2",
            "citizenship": "us",
            "Evaluators": [
                {
                    "abstractScore": null,
                    "goalsObjectivesScore": null,
                    "evalNum": 1
                },
                {
                    "abstractScore": null,
                    "goalsObjectivesScore": null,
                    "evalNum": 2
                },
                {
                    "abstractScore": null,
                    "goalsObjectivesScore": null,
                    "evalNum": 3
                }
            ],
            "Major": "MAT",
            "preAwards": "none",
            "Advisor": "Dr. cool"
        }
    ]
}

我需要更新所有的空值。我一直试图用python中的$set来实现它,但是没有成功。这就是我正在尝试的

^{pr2}$

所以我要问如何分别更新每个空字段?我想让上面的代码更新计算器中的第一个abstractScore,它位于{}中。我还想分别更新{"Applicates.Name" : 'Mike"}的另外2abstractScore,以及{}的3个。当然我也希望goalsObjectivesScore更新,但我尝试一次只更新一步。在

我四处找了很多遍,似乎找不到一个可靠的答案。任何帮助都将不胜感激。在


Tags: nametimenullappidmikeusschoolresearch
1条回答
网友
1楼 · 发布于 2024-06-16 10:14:52

我对这行代码已经够接近了。这并不是我想要的,但我让它满足了我的需要。在

posts.update({"_id":5,"Applicates.appId":100},{"$set":{"Applicates.$.Evaluators.0.abstractScore": 10}})

相关问题 更多 >