gpt4 book ai didi

python - 计算 mongodb 数组中的元素数

转载 作者:太空宇宙 更新时间:2023-11-03 17:55:39 25 4
gpt4 key购买 nike

我想使用 python 和 pymongo 计算数组中元素的数量。这是数据。

{
"_id": 5,
"type": "Student",
"Applicates": [
{
"appId": 100,
"School": "dfgdfgd",
"Name": "tony",
"URL": "www.url.com",
"Time": "5/5/5-6/6/6",
"Research": "dfgdfg",
"Budge": 5000,
"citizenship": "us",
"Major": "csc",
"preAwards": "None",
"Advisor": "dfgdfg",
"Evaluators": [
{
"abstractScore": 10,
"goalsObjectivesScore": 20,
"evalNum": 1
},
{
"abstractScore": 30,
"goalsObjectivesScore": 40,
"evalNum": 2
},
{
"abstractScore": 50,
"goalsObjectivesScore": 60,
"evalNum": 3
}
]
},
{
"appId": 101,
"School": "dvdu",
"Name": "jessy",
"URL": "www.url.com",
"Time": "4/4/4-6/6/6",
"Research": "dfgdfg",
"Budge": 7500,
"citizenship": "us",
"Major": "dfgdfg",
"preAwards": "dfgfd",
"Advisor": "dfgdfg",
"Evaluators": [
{
"abstractScore": 70,
"goalsObjectivesScore": 80,
"evalNum": 1
},
{
"abstractScore": 90,
"goalsObjectivesScore": 100,
"evalNum": 2
}
]
}
]}

所以我想获取 Evaluators 数组的大小。 {"appId": 100} 会给出 3 ,而 {"appId": 101} 会给出 2 。我一直在玩 $size 但似乎无法得到它。

最佳答案

查询返回文档。任何查询都不会返回“appId”: 100` 数组元素中 Evaluators 数组的大小。但以下格式笨拙的表达式将满足您的需求:

len(coll.find_one(
{ "Applicates.appId" : 100 },
{ "Applicates.$.Evaluators" : 1 }
)["Applicates"][0]["Evaluators"])

其中 coll 是 Collection 对象。

关于python - 计算 mongodb 数组中的元素数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28490769/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com