测试环境:安装在Ubuntu Xenial上的RethinkDB 2.3.5,在MacOS Sierra上进行了相同的测试。
以下在干净安装上完成,并在测试数据库中添加了一条记录:
没有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;:
你能帮我找一下在Dashboard Data Explorer中使用r.row的正确方法,或者确认它是真正的bug(非常重要)吗?
答案 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))