我正在研究在 Google App Engine 上运行的 golang 后端。我有一个名为 Entity 的实体Recruit,它有一个属性UpdatedAt time.Time `datastore:"updated_at"`我想通过他们的更新时间查询新兵。我的第一直觉是使用过滤器。query = datastore.NewQuery("Recruit").Filter("updated_at <=", updatedAt)其中 updatedAt 是一个字符串。我已经尝试了这些形式2014-08-28 01:53:19和2014-08-28T01:53:19.00618Z(前者是 time.Time 属性在数据存储中采用的形式,而后者是它在 JSON 中的传播方式。)当我使用 调用查询时<=,将返回所有 Recruit 对象。调用 with 时>=,返回 null。我很确定我正在测试数据集中间的时间。当我在 console.developers.google.com 上测试时,控制台过滤器支持a date and time after/before,但尝试<=用after结果替换会导致错误。有没有人设法按日期或时间过滤查询?
1 回答
Helenr
TA贡献1780条经验 获得超4个赞
尝试使用 time.Time 类型的 updatedAt 而不是字符串
以下是我如何按时间过滤查询的片段:
我的财产:
TimeStamp time.Time
我的查询:
timeNow := time.Now()
time1hr := timeNow.Add(-59*time.Minute)
q := datastore.NewQuery("Recruit").Filter("TimeStamp <=", time1hr)
此代码将在 time1hr 之前为我提供所有实体。
- 1 回答
- 0 关注
- 205 浏览
添加回答
举报
0/150
提交
取消