Mongodb Pymongo骨料

Mongodb Pymongo骨料,mongodb,pymongo,Mongodb,Pymongo,我是pymongo的新手,尝试了一些不同的东西。我想问的一个问题是:如何对几百万条记录执行聚合 每一份文件都有以下内容: {'_id': [id], 'date_of_addition': [unix_time_stamp], etc.} 我想在上面的一个中汇总的是每个日期添加了多少记录 任何提示,想法,谢谢。聚合框架在shell中的工作原理与在pyMongo中完全相同,没有任何区别。在某些情况下,您只需要知道数据类型,让我们假设您在shell中使用日期范围进行聚合 ... { $match

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

每一份文件都有以下内容:

{'_id': [id], 'date_of_addition': [unix_time_stamp], etc.}
我想在上面的一个中汇总的是每个日期添加了多少记录


任何提示,想法,谢谢。

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

... { $match : { $gte : ISODate('2013-12-01T10:00:00Z') } } ...
您需要在pyMongo中使用datetime并用双引号括起关键字:

... { "$match" : { "$gte" : datetimevar } } ...
尽管如此,您仍需要大量实践聚合框架,并学习如何在shell中实现聚合。您的问题太笼统了,似乎您根本不了解聚合框架。如果您来自SQL世界,无论您使用哪种引擎,我建议您花更多时间使用聚合框架,并在线关注这些类。您可能也不太了解SQL内部是如何进行聚合的,因为SQL(任何引擎)都会为您解决问题,并神奇地返回结果。在非SQL数据库中并非如此。将聚合视为一个管道,您可以在其中对数据应用不同的转换:

我的数据如下:

  • 我筛选不想聚合的记录
  • 我按需要的字段分组
  • 我再次从该组中筛选以删除一些结果
  • 我把它们分类
  • 我将结果限制为N条记录
  • 这是一个小例子,只需检查文档,并遵循以下课程

    从这里开始: