【问题标题】:How to convert twitter date using aggregation pipeline with pymongo?如何使用带有 pymongo 的聚合管道转换 twitter 日期?
【发布时间】:2019-05-23 04:28:42
【问题描述】:

我有一个存储推文的 mongodb 集合。 我想汇总推文的数量和一个人发布推文的最早日期。

到目前为止,我使用了这个查询:

pipe = [
       {"$group": {"_id": "$user.screen_name", "count": {"$sum": 1}, 
                  "minDate":{"$min":"$created_at"}}}]

list(collection_full.aggregate(pipeline=pipe))

但是,最小值是基于字符串的,所以我总是得到星期五,因为 F 在字母表中排在第一位。我想将“$created_at”转换为日期时间。

谢谢。

【问题讨论】:

    标签: aggregate pymongo date-conversion


    【解决方案1】:

    我在阅读文档后找到了答案。我必须在管道中创建一个新变量。
    这个脚本对我有用:

    pipe = [ { "$addFields": { "create_date": { "$dateFromString": {"dateString": "$created_at"} } } },
          { "$group": {"_id": "$user.screen_name", "count": {"$sum": 1}, "minDate":{"$min":"$create_date"}}}]   
    list(collection_full.aggregate(pipeline=pipe))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-10-16
      • 2019-11-29
      • 1970-01-01
      • 1970-01-01
      • 2019-07-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多