【发布时间】:2015-06-30 13:28:11
【问题描述】:
我是 pymongo 的新手,并尝试了一些不同的东西。我想问的一个问题是:如何对几百万条记录进行聚合?
每个文档都遵循字典:
{'_id': [id], 'date_of_addition': [unix_time_stamp], etc.}
我想在上面汇总的是每个日期添加了多少条记录?
任何提示、想法,谢谢。
【问题讨论】:
我是 pymongo 的新手,并尝试了一些不同的东西。我想问的一个问题是:如何对几百万条记录进行聚合?
每个文档都遵循字典:
{'_id': [id], 'date_of_addition': [unix_time_stamp], etc.}
我想在上面汇总的是每个日期添加了多少条记录?
任何提示、想法,谢谢。
【问题讨论】:
聚合框架在 shell 中的工作方式与 pyMongo 中的完全相同,完全没有区别。在某些情况下,您只需要了解数据类型,假设您在 shell 中使用日期范围进行聚合
... { $match : { $gte : ISODate('2013-12-01T10:00:00Z') } } ...
您需要在 pyMongo 中使用日期时间并用双引号将关键字括起来:
... { "$match" : { "$gte" : datetimevar } } ...
尽管如此,您仍需要大量练习聚合框架并学习如何在 shell 中进行操作。您的问题太笼统了,您似乎根本不了解聚合框架。如果您来自 SQL 世界,无论您使用哪种引擎,我建议您花更多时间使用聚合框架并在线学习课程。您可能对如何在 SQL 内部进行聚合也没有深入的了解,因为这是正常的,SQL(任何引擎)会为您解决问题并神奇地返回结果。在非 SQL 数据库中并非如此。将聚合视为对数据应用不同转换的管道:
我有我的数据:
这是一个小例子,只需查看文档并关注课程online
【讨论】: