Запрос представлений CouchBaseLite?

Я запрашиваю представление CouchBaseLite, но каждый раз получаю это исключение. Он не возвращает результат.

detailMessage: last sequence < 0(-1)

Вид:

com.couchbase.lite.View viewItemsByDate = database.getView(String.format("%s/%s", designDocName, byDateViewName));
        viewItemsByDate.setMap(new Mapper() {
            @Override
            public void map(Map<String, Object> document, Emitter emitter) {
                Object createdAt = document.get("text");
                if (createdAt != null) {
                    emitter.emit(createdAt.toString(), null);
                }
            }
        }, "1.0");

и мой запрос к этому представлению:

com.couchbase.lite.View view = database.getView(byDateViewName);
        Query query = view.createQuery();//database.createAllDocumentsQuery();

        List<Object> keyArray = new ArrayList<Object>();
        keyArray.add("A");
        keyArray.add("B");
        query.setKeys(keyArray);

        QueryEnumerator rowEnum = query.run();
        for (Iterator<QueryRow> it = rowEnum; it.hasNext();) {
            QueryRow row = it.next();
            Log.d("Document ID:", row.getDocumentId());

        }

И у меня есть документы в базе данных с ключами "text": "A" и "text": "B", но все же это показывает мне исключение. last sequence < 0(-1)

Почему он не смог найти строки, которые я запросил?


person Master    schedule 03.02.2014    source источник


Ответы (1)


Проблема в том, что вы запрашиваете имя представления, отличное от имени, которое вы определили.

Изменять

database.getView(String.format("%s/%s", designDocName, byDateViewName));

to

database.getView(byDateViewName);

и это устраняет проблему.

См. ошибку Couchbase Lite для Android № 66.

person tleyden    schedule 05.02.2014
comment
в любом случае мы можем увидеть список определенных представлений? - person liang; 13.10.2016
comment
Для этого нет общедоступного API (не помню почему, если честно), но просто посмотрите на имена представлений, которые вы регистрируете в своем исходном коде. - person Jens Alfke; 14.10.2016