2014-01-09 57 views
0

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

每个文档以下类型的字典:

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

我想在上面一个是每个日期有多少记录被加入到聚合?

任何暗示,想法,谢谢。

+0

从这里开始:http://api.mongodb.org/python/current/api/pymongo/collection.html#pymongo.collection。 Collection.aggregate – JohnnyHK

回答

1

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

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

您需要pyMongo使用datetime和用双引号括起来的关键字在外壳聚集:

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

尽管如此,您还是需要在聚合框架中进行大量练习,并学习如何在shell中执行此操作。你的问题太笼统了,看起来你根本不了解聚合框架。如果你来自SQL世界,无论你使用哪种引擎,我建议你花费更多时间用于聚合框架并在线上学习。您不需要深入了解SQL内部如何进行聚合,因为这是正常的,SQL(任何引擎)会为您解决问题并以奇迹般的方式返回结果。不是在非SQL数据库中的情况。想想聚集为您应用不同的转换您的数据管道:

我有我的数据,以便:

  1. 我筛选记录我不希望由我场聚集
  2. 我组需要
  3. 我从这个小组再次过滤,除去一些成果
  4. 我对它们进行排序
  5. 我限制结果,以N条记录

这是一个小例子,只是检查文档和也跟着类online