Android - com.couchbase.lite.CouchbaseLiteException:getViewId()< 0

时间:2015-01-21 14:15:07

标签: android couchbase-lite

我是couchbase lite的新手。

到目前为止我做了什么:

  1. 在我的couchbase云上创建文档并创建视图(所有视图按预期返回行)

  2. 建立连接并将文档从云端提取到Android设备

  3. 正确检索并查看我的Android设备上的所有文件

  4. 我的问题是:

    当我这样做时:

    Query query = database.getView("getCategory").createQuery();
    //query.setStartKey("m");
    query.setLimit(100);
    QueryEnumerator result;
    
    try {
        result = query.run();
    
    
    } catch (CouchbaseLiteException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    

    我收到错误:

    com.couchbase.lite.CouchbaseLiteException: getViewId() < 0
    at com.couchbase.lite.View.updateIndex(View.java:376)
    at com.couchbase.lite.Database.queryViewNamed(Database.java:2046)
    at com.couchbase.lite.Query.run(Query.java:350)
    at com.example.helloworldeclipse.MainActivity.retrieveByView(MainActivity.java:133)
    at com.example.helloworldeclipse.MainActivity.onCreate(MainActivity.java:87)
    at android.app.Activity.performCreate(Activity.java:5255)
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1097)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2213)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2299)
    at android.app.ActivityThread.access$700(ActivityThread.java:154)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1284)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:137)
    at android.app.ActivityThread.main(ActivityThread.java:5306)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:511)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869)
    at dalvik.system.NativeStart.main(Native Method)
    

    我知道方法database.getView(视图名称)的调用没有返回任何视图。

    我的文档视图如下:

        retrievedDocument={_rev=2-01da195a3162c4bfd3c42996e8c13ea8, language=javascript, _id=_design/getCategory, views={getCategory={map=function(doc) {
    if (doc.idCategoryParent && doc.class == "category" ) {
    emit(doc.idCategoryParent, doc.categoryName);
      }
     }}}}
    

    我尝试将其称为getView(“_ design / getCategory / getCategory”),将“_design / getCategory”称为文档名称,将“getCategory”称为视图名称...但仍然会导致相同的错误。

0 个答案:

没有答案