Python 使用PyMongo查询MongoDB中嵌入文档的值
我在MongoDB中有一个文档,看起来像这样Python 使用PyMongo查询MongoDB中嵌入文档的值,python,database,mongodb,pymongo,Python,Database,Mongodb,Pymongo,我在MongoDB中有一个文档,看起来像这样 { "_id": 0, "cash_balance": 50, "holdings": [ { "name": "item1", "code": "code1", "quantity"
{
"_id": 0,
"cash_balance": 50,
"holdings": [
{
"name": "item1",
"code": "code1",
"quantity": 300
},
{
"name": "item2",
"code": "code2",
"quantity": 100
}
]
}
我想查询此特定文档,并获取holdings数组中对象的数量值,该数组的code匹配“code1”。可以假设会有一场比赛
data = collection.find_one({"_id": 0, "holdings.code": "code1"}, {"holdings.$.quantity": 1})
{{u id:0,“持有量”:[{“名称”:“项目1”,“代码”:“代码1”,“数量”:300}]}
运行上述代码可以得到此输出,我可以使用以下方法获得数量值:
data["holdings"][0]["quantity]
三百
然而,这似乎是获得单个值的一种相当迂回的方法。有没有一种方法可以在不获取包含所需对象的holdings数组的情况下查询与代码查询匹配的特定键的值?尝试将聚合方法与$unwind一起使用 $unwind执行以下操作: 从输入文档解构数组字段以输出每个元素的文档。每个输出文档都是输入文档,数组字段的值由元素替换 我为你树立了一个榜样