RethinkDB возвращает неверные результаты в проводнике данных с помощью r.row
Среды, протестированные в: RethinkDB 2.3.5, установленном в Ubuntu Xenial, также протестирован в MacOS Sierra.
Ниже приведено описание чистой установки с добавлением одной записи в тестовую базу данных:
Dashboard Data Explorer запрос точного соответствия без 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: Это результат "Записи не найдены", а не ожидаемые "1 возвращенная строка. Отображение строк 1-1":
Не могли бы вы помочь мне найти правильный способ работы с r.row в Dashboard Data Explorer или подтвердить, что это действительно ошибка (довольно серьезная проблема)?
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))