我正在查询 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)
为什么它找不到我查询的行?
答案 0 :(得分:1)
问题是您查询的视图名称与您定义的视图名称不同。
更改
database.getView(String.format("%s/%s", designDocName, byDateViewName));
到
database.getView(byDateViewName);
它解决了这个问题。