PyMongo聚合从字符串

时间:2018-11-02 14:52:01

标签: python aggregation-framework pymongo

我正在寻找一种存储聚合命令的可能性,例如在文本文件中通过python / pymongo加载并执行。

目前,我在pymongo中找到了许多使用管道的示例。但是,当我想将聚合命令外包到pymongo代码之外的文本文件中时,该如何处理呢?

希望您知道我的意思:-)。

提前致谢!

tom

1 个答案:

答案 0 :(得分:0)

您可以将管道数据存储在文本文件中:

pipe.txt

[
  {"$match": 
    {"year":1984}
  }
]

然后,您可以使用Python的JSON包和loads方法来解释文件中的数据。然后,您可以使用它进行汇总:

import pymongo, json
client=pymongo.MongoClient('your connection, credentials here')
db=client.yourDatabase
with open('pipe.txt','r') as f:
    pipeline = json.loads(f.read())

data=db.yourCollection.aggregate(pipeline)