go 操作 mongodb 执行聚合查询,并根据时间过滤

2020-06-03 10:46:08 +08:00
 Achilless

现在我写的 pipe 是这样:

pipe := []bson.M{ {"$match": bson.M{ "updateTime":bson.M{"$gt":"2020-06-03T09:21:22.878+08:00"}}}, {"$group": bson.M{ "_id": "$sn", "count": bson.M{"$sum": 1}, }}, }

但是返回是空,时间没有问题,mongo 里这个字段的格式是:ISODate("2020-06-03T09:21:22.878+08:00") 如果去掉 match,只留 group,返回正常,说明程序是没问题,纠结于这里 match 如何写

2008 次点击
所在节点    Go 编程语言
2 条回复
joesonw
2020-06-03 13:13:29 +08:00
primitive.NewDateTimeFromTime?
Achilless
2020-06-03 16:26:57 +08:00
搞定了,直接传 time.Now()不需要格式化

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/678151

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX