【问题标题】:Aggregate in Pymongo聚合在 Pymongo
【发布时间】:2015-06-30 13:28:11
【问题描述】:

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

每个文档都遵循字典:

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

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

任何提示、想法,谢谢。

【问题讨论】:

标签: mongodb pymongo


【解决方案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 条记录

这是一个小例子,只需查看文档并关注课程online

【讨论】:

    猜你喜欢
    • 2020-01-15
    • 1970-01-01
    • 2019-01-22
    • 1970-01-01
    • 2020-12-26
    • 2014-03-01
    • 2016-10-14
    • 1970-01-01
    • 2021-12-31
    相关资源
    最近更新 更多