如何使用 GoLang 在 Google App Engine Datastore

我正在研究在 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:192014-08-28T01:53:19.00618Z(前者是 time.Time 属性在数据存储中采用的形式,而后者是它在 JSON 中的传播方式。)

当我使用 调用查询时<=,将返回所有 Recruit 对象。调用 with 时>=,返回 null。我很确定我正在测试数据集中间的时间。

当我在 console.developers.google.com 上测试时,控制台过滤器支持a date and time after/before,但尝试<=after结果替换会导致错误。

有没有人设法按日期或时间过滤查询?


长风秋雁
浏览 206回答 1
1回答

Helenr

尝试使用 time.Time 类型的 updatedAt 而不是字符串以下是我如何按时间过滤查询的片段:我的财产:TimeStamp time.Time我的查询:timeNow := time.Now()time1hr := timeNow.Add(-59*time.Minute)q := datastore.NewQuery("Recruit").Filter("TimeStamp <=", time1hr)此代码将在 time1hr 之前为我提供所有实体。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go