使用gorethink在Query之间创建

时间:2015-07-10 07:47:48

标签: go rethinkdb

如何将此rethinkdb查询转换为gorethink查询

r.db("arkinventory").table("reportsdata").between(new Date("2012-08-13T23:32:49.923Z"), new Date("2013-08-13T23:32:49.923Z"), {index: "updated_at"})

我试过

.Filter(func(row r.Term) r.Term { return row.Between(r.Time(2014, 8, 12, 'Z'), r.Time(2014, 8, 12, 'Z'), r.BetweenOpts{Index: "updated_at"}) }).Run(session)

row.Date row.ToEpochTime

但是却无法得到结果。请帮我在gorethink中制定这个查询。

2 个答案:

答案 0 :(得分:1)

t := r.Table("yourTable")
t.Between(from, to,
    r.BetweenOpts{Index: "updated_at"}
).OrderBy(r.OrderByOpts{Index: r.Desc("updated_at")}).Run(dbs)

此处,fromto取决于您如何保存这些值,即int64,字符串,时间等。根据前面的示例r.Time(args)应该有效。

如果不存在,请通过以下方式创建索引:

t.IndexCreate("updated_at").Exec(dbs)
t.IndexWait().RunWrite(dbs)

答案 1 :(得分:0)

根据dancannon对gitter频道https://gitter.im/dancannon/gorethink

的回应

我们应该使用“而不是在日期之间”。

#footer { left:0; // add this line right:0; // add this line width:100%; // remove this line border: 1px solid #000000; position:fixed; padding:0 5px; margin:10px; }