PyMongo:find()查询产生的数组中的文档返回的访问字段

2024-09-25 10:25:27 发布

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

我正在MongoDB集合上执行这样的查询:

 cursor = collection.find({"activityArray":{"$elemMatch":{"sport":0}}},{"activityArray.sport" : 1, "activityArray\|here is result object
.id":1, "endo" : 1})                                                                                                 |20166249
    for result_object in cursor[0:1]:                                                                                |here is result object
        print "here is result object"                                                                                |20166249                                                            |here is result object
        print result_object["endo"]                                                                                  |20166249
#        print result_object["activityArray.sport"]   
#        print result_object["activityArray"]["sport"]   
#        print result_object["sport"]   

每一行注释都给了我一个关键错误。如何访问从PyMongo查询生成的文档中的数组中的文档返回的字段?


Tags: 文档idhereobjectismongodbresultfind
1条回答
网友
1楼 · 发布于 2024-09-25 10:25:27

由于activityArray是一个数组,因此您需要在该列表上有另一个循环,如下所示:

cursor = collection.find({"activityArray": {"$elemMatch": {"sport":0 }}},{"activityArray.sport" : 1, "activityArray.id":1, "endo" : 1}) 

for result_object in cursor[0:1]:
    print result_object["endo"])
    for activity in result_object["activityArray"]:
        print activity["sport"]

相关问题 更多 >