PyMongo:访问从 find() 查询产生的数组中的文档返回的字段
PyMongo: Access fields returned from document within array resulting from find() query
我正在 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 查询生成的文档中的数组中的文档返回的那些字段?
由于 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"]
我正在 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 查询生成的文档中的数组中的文档返回的那些字段?
由于 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"]