在Pymongo聚集

时间:2014-01-09 00:01:42

标签: mongodb pymongo

我是pymongo的新手并尝试了一些不同的东西。我想问的一个问题是:如何在几百万条记录中进行聚合?

以下各项文件:

{'_id': [id], 'date_of_addition': [unix_time_stamp], etc.}

我想在上面汇总的是每个日期添加了多少条记录?

任何提示,想法,谢谢。

1 个答案:

答案 0 :(得分:1)

聚合框架在shell中的工作方式完全相同,在pyMongo中,根本没有区别。在某些情况下,您只需要知道数据类型,让我们假设您使用日期范围在shell中进行聚合

... { $match : { $gte : ISODate('2013-12-01T10:00:00Z') } } ...

您需要在pyMongo中使用日期时间并用双引号括起您的关键字:

... { "$match" : { "$gte" : datetimevar } } ...

尽管如此,您需要使用聚合框架练习很多,并学习如何在shell中执行此操作。您的问题过于通用,似乎您根本不​​了解聚合框架。如果您来自SQL世界,无论您使用哪种引擎,我建议您花更多时间使用聚合框架并在线跟踪课程。您可能不太了解如何在SQL内部进行聚合,因为它是正常的,SQL(任何引擎)为您解决问题并神奇地返回结果。在非SQL数据库中不是这种情况。将聚合视为一个管道,您可以在其中对数据应用不同的转换:

我有我的数据:

  1. 我过滤了我不想聚合的记录
  2. 我按需要的字段分组
  3. 我再次从此组中过滤以删除一些结果
  4. 我对它们进行排序
  5. 我将结果限制为N条记录
  6. 这是一个小例子,只需查看文档,然后按照课程online