2014-02-03 8 views
0

Я запрашиваю 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)

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

ответ

1

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

Изменить

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

в

database.getView(byDateViewName); 

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

См Couchbase Lite Android issue #66

+0

есть в любом случае мы можем увидеть список определенных взглядов? – liang

+0

Для этого нет публичного API (я не помню, почему, честно), но просто посмотрите на имена просмотров, которые вы регистрируете в своем исходном коде. –

Смежные вопросы