Rethinkdb查询不起作用

时间:2015-06-26 00:26:21

标签: python rethinkdb rethinkdb-python reql

我在Rethinkdb上执行以下查询:

r.table('skydata').filter(r.row("DeviceID").eq("JBAnFrdlbkcO").and(r.row("TS").ge(0)).and(r.row("TS").le(143556949)) ).orderBy("TS")

直接在他们网站上的Data Explorer上运行并返回结果时,它工作得很好。但是,当我在Python程序中进行相同的查询时,我什么都没得到。我写的查询是:

records = rdb.table('skydata').filter( (rdb.row['DeviceID'] == 'JBAnFrdlbkcO') & (rdb.row['TS'] >= '0') & (rdb.row['TS'] <= '143556949') ).order_by('TS').run(conn)

此处返回的records为空。我认为这两个是等价的。我还尝试直接向服务器发送JS命令:

records = rdb.js("r.table('skydata').filter(r.row('DeviceID').eq(%s).and(r.row('TS').ge(%s)).and(r.row('TS').le(%s)) ).orderBy('TS')" % (deviceid, time_start, time_end) ).run(conn)

但它说:r is not defined我真的不知道为什么会这样。如果有人能提供帮助我真的很感激。感谢。

1 个答案:

答案 0 :(得分:0)

正如讨论中所提到的,不应引用查询中的数字,除非它们是字符串。取消引号以使其有效。