Запрос Python RethinkDB возвращает результат, отличный от проводника данных

Я запускаю RethinkDB с помощью драйвера Python.

Запрос Python:

response = r.db("user_data_sets").table("indexes").get_all(r.args(['key1', 'key2'])).run()

Этот запрос возвращает только запись key2 в response.

> len(response.items)
> result = int(1)

Если я запускаю запрос в Проводнике данных, я получаю обе записи.

Тестовый запрос Data Explorer:

r.db("user_data_sets").table("indexes").getAll(r.args(['key1', 'key2']))

2 rows returned. Displaying rows 1-2

Я тут немного в растерянности. Я не уверен, является ли это ошибкой/проблемой драйвера, причудой синтаксиса или чем-то еще. Гугл ничего внятного не выдал.


person getglad    schedule 08.07.2016    source источник


Ответы (1)


Я только что проверил это и получил правильные результаты:

Версия RethinkDB:

rethinkdb 2.3.4 (CLANG 7.3.0 (clang-703.0.31))

Модуль RethinkDB Python:

rethinkdb==2.1.0.post2

Вот мой код Python:

r.db("test").table("so1").insert({"id":1}).run(conn)
r.db("test").table("so1").insert({"id":2}).run(conn)
list(r.db("test").table("so1").get_all(r.args([1, 2])).run(conn))
# [{'id': 2}, {'id': 1}]

И результаты в WebUI

пример изображения

Если вы создадите совершенно новую таблицу и просто вставите эти два документа. Результаты такие же?

person dalanmiller    schedule 08.07.2016
comment
Да, я только что наткнулся на rethinkdb.com/api/python/to_array в документах. . Это именно то, что они рекомендуют для небольших наборов. Я думаю, что пытался использовать курсор неправильно - person getglad; 09.07.2016
comment
Дайте мне знать, если у вас есть еще вопросы @getglad! - person dalanmiller; 09.07.2016