0

我正在查询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)

为什么它找不到我查询的行?

4

1 回答 1

1

问题是您查询的视图名称与您定义的视图名称不同。

改变

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

database.getView(byDateViewName);

它解决了这个问题。

请参阅Couchbase Lite Android 问题 #66

于 2014-02-05T22:55:10.817 回答