Выбор одной записи из RethinkDB на Java

147
18 апреля 2019, 15:00

Как можно извлечь одну запись из таблицы RethinkDB на Java? Я попробовал сделать так, как написано в документации:

public Object findByObjectUID(String uid) {
        return r.db("dbname").table("tablename")
                .filter(r.hashMap("uid", uid)).run(connection);
    }

Но при выполнении получаю ошибку

java.lang.ClassCastException: com.rethinkdb.net.Cursor$DefaultCursor cannot be cast to Object

Как правильно это делать?

Answer 1

Вы видимо не до конца сделали.

Судя по документации run возвращает именно курсор(Cursor). А потом вы фетчите данные с помощью цикла. Так сделано потому, что вернутся может несколько объектов(если поиск не по primary)

Cursor cursor = r.table("authors").filter(row -> row.g("posts").count().gt(2)).run(conn);
for (Object doc : cursor) {
    System.out.println(doc);
}

Или передав вторым аргументом в run функцию обработки результата.

Тажке можно использовать get в цепочке команд(поиск по primary)

Обратите внимание на быстрый старт

READ ALSO
Понятие абстрактного типа данных

Понятие абстрактного типа данных

К сожалению, не смог найти на просторах глобальной сети подходящего для меня объяснения этого понятияКогда заходит речь об абстрактных типах...

179
Что такое LayoutInflater.inflate() в Android?

Что такое LayoutInflater.inflate() в Android?

Смотрел туториал по разработке приложения на Андроид и в теме ArrayAdapter, ListView такой код

148
Зачем нужен массив Class[]

Зачем нужен массив Class[]

К примеру я создал массив

151
Передача нужного URL на WebView

Передача нужного URL на WebView

У меня есть несколько кнопок находящихся на фрагменте и один WebView находящийся на активитиФункция этих кнопок в моём представлении в том чтобы...

185