我有一个mongodb集合,我试图限制结果集,但数据是由其他人创建的,日期格式似乎存储为“2016-05-12 00:00:00.000Z”。我不确定如何格式化查找查询以限制此类日期。我已成功使用其他类型的日期格式,但不是这个。还有其他人遇到过这个问题吗?
myCollection {
"_id" : {
"$oid" : bson.ObjectId
},
"createdDate" : {
"$date" : Date
}
这就是我的尝试。
toDate := time.Date(time.Now().Year(), time.Now().Month(), time.Now().Day(), 0, 0, 0, 0, time.UTC)
fromDate := toDate.AddDate(0, 0, -1)
collectionResult := collectionRecords.Find(bson.M{"retailer": result.Id, "createdAt": bson.M{"$gte": fromDate}})
最后,我想限制为一天,并试图做以下事情:
collectionResult := collectionRecords.Find(bson.M{"retailer": result.Id, "createdAt": bson.M{"$gte": fromDate, "$lt": toDate}})
collectionResult.All(&collectionData)
collectionCount, _ := collectionResult.Count()
fmt.Println("Count: ", collectionCount)
它总是返回0.就像我上面说的那样,我已经成功使用UTC日期,但是这个似乎让我感到麻烦。
答案 0 :(得分:0)
如果我理解了这个问题,您是否正在寻找如何在过去24小时内创建UTC时间戳的时间段?
您可以尝试过滤这些日期:
package main
import (
"fmt"
"time"
)
func main() {
today := time.Now().Truncate(24*time.Hour).UTC()
yesterday := today.Add(-24*time.Hour)
fmt.Println(today)
fmt.Println(yesterday)
}
答案 1 :(得分:0)
以上帖子中的代码实际上适用于" Zulu"日期时间戳。这不是问题。