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))
Другие вопросы по тегам