查询CouchBaseLite视图?

时间:2014-02-03 12:33:43

标签: android couchdb couchbase couchbase-lite

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

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

1 个答案:

答案 0 :(得分:1)

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

更改

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

database.getView(byDateViewName);

它解决了这个问题。

请参阅Couchbase Lite Android issue #66