如何使用带有 pymongo 的聚合管道转换推特日期?
How to convert twitter date using aggregation pipeline with pymongo?
我有一个 mongodb 集合来存储推文。
我想汇总推文的数量和某人发布推文的最早日期。
到目前为止,我使用了这个查询:
pipe = [
{"$group": {"_id": "$user.screen_name", "count": {"$sum": 1},
"minDate":{"$min":"$created_at"}}}]
list(collection_full.aggregate(pipeline=pipe))
但是,最小值是基于字符串的,所以我总是得到星期五,因为 F 在字母表中排在第一位。我想将“$created_at”转换为日期时间。
谢谢。
我通过文档找到了答案。我必须在管道中创建一个新变量。
这个脚本对我有用:
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))
我有一个 mongodb 集合来存储推文。 我想汇总推文的数量和某人发布推文的最早日期。
到目前为止,我使用了这个查询:
pipe = [
{"$group": {"_id": "$user.screen_name", "count": {"$sum": 1},
"minDate":{"$min":"$created_at"}}}]
list(collection_full.aggregate(pipeline=pipe))
但是,最小值是基于字符串的,所以我总是得到星期五,因为 F 在字母表中排在第一位。我想将“$created_at”转换为日期时间。
谢谢。
我通过文档找到了答案。我必须在管道中创建一个新变量。
这个脚本对我有用:
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))