RethinkDB使用r.row在Data Explorer中返回不正确的结果

时间:2017-03-08 06:36:42

标签: rethinkdb rethinkdbdash

测试环境:安装在Ubuntu Xenial上的RethinkDB 2.3.5,在MacOS Sierra上进行了相同的测试。

以下在干净安装上完成,并在测试数据库中添加了一条记录:

Screenshot

没有r.row的仪表板数据资源管理器完全匹配查询确实找到了记录。

 1 row returned. Displaying rows 1-1
{

    "id": "f26a33f4-5add-442e-93b6-5fb93e817fb8" ,
    "myfield1": 1 ,
    "myfield2": "content"

}

使用Python3,它适用于r.row:

>>> import rethinkdb
>>> conn = r.connect()
>>> r.db('test').table('test').filter(r.row['myfield1'] == 1).run(conn)
<rethinkdb.net.DefaultCursor object at 0x7f8a95839438 (done streaming):
 [{'myfield1': 1, 'myfield2': 'content', 'id': 'f26a33f4-5add-442e-93b6-5fb93e817fb8'}]>
>>> 

这意味着数据设置正确。

但是,Dashboard Data Explorer在使用r.row的过滤器上失败:结果是&#34;没有找到记录&#34;而不是预期&#34; 1行返回。显示行1-1和#34;:

Failure Screenshot

你能帮我找一下在Dashboard Data Explorer中使用r.row的正确方法,或者确认它是真正的bug(非常重要)吗?

1 个答案:

答案 0 :(得分:1)

仪表板使用Javascript语法,不理解Python。所以,查询应该放在Javascript中:

而不是Python语法

r.db('test').table('test').filter(r.row['myfield1'] == 1)

仪表板访问Javascript语法:

r.db('test').table('test').filter(r.row("myfield1").eq(1))