Pymongo仅作为列表返回值

时间:2016-09-03 23:52:02

标签: mongodb pymongo

以下pymongo查询为我提供了所需的所有值:

l=list(db.rounds.find({"current_strategy":"PPStrategy4016"},{"myFundsChange":1,"_id": 0}))

{'myFundsChange': '-0.30000000000000004'}, {'myFundsChange': '0.0'}, {'myFundsChange': '0.0'}, {'myFundsChange': '-0.040000000000000036'}, {'myFundsChange': '-0.08000000000000007'}, {'myFundsChange': '-0.20999999999999996'}, {'myFundsChange': '-0.47'}, {'myFundsChange': '0.0'},  {'myFundsChange': '0.0'}, {'myFundsChange': '-0.040000000000000036'}, {'myFundsChange': '-0.040000000000000036'}

但是我怎么能告诉pymongo只将值作为列表返回给我(没有键)?

1 个答案:

答案 0 :(得分:1)

简单地这样做:

cursor = collection.aggregate([
    {"$match": {"current_strategy": "PPStrategy4016"}},
    {"$group": {
        "_id": None, 
        "myFundsChange": {"$push": "$myFundsChange"}
    }}
])

然后您可以使用传统的for循环或简单地使用光标。

for res in cursor:
    # do something with the result.

请注意,Cursor对象在此处包含一个文档,因为我们按None分组