2017-07-18 8 views
0

関数couchbase.getDatabase()。queryView()は常にすべての行を返します。私はオプションを適切に設定する方法を見つけることができません。couchbase - 角度でqueryViewオプションを設定する方法は?

couchbase.tsで
let options = { 
    key: ["First", "1"], 
    include_docs: true 
} 

this.couchbase.getDatabase().queryView("_design/dispatch", "orders", options) 
.then(result => { 
    console.log(result)}); 
} 

マイビュー:

 let views = { 
      orders: { 
      map: function(doc) { 
       if (doc.type == "orders" && doc.district) { 
       emit([doc.district, doc.done], { 
        name: doc.name, 
        rev: doc._rev 
       }); 
       } 
      }.toString() 
      } 
     }; 

答えて

0

それはあなたがキーの配列を放出している地図の関数から見えます。キーを単一キーの配列として指定しました。インデックスに一致する配列ではありません。だから、

let options = { 
    key: [["First", "1"]], 
    include_docs: true 
} 

queryViewがちょうど$httpオブジェクトを使用して通話の周りに光のラッパーである必要があります。ここでは、関連するコードスニペットです:

queryView: function(designDocumentName, viewName, options) { 
    return this.makeRequest("GET", this.databaseUrl + this.databaseName + "/" + designDocumentName + "/_view/" + viewName, options); 
} 

だから、あなたはそれが設計ドキュメントのRESTエンドポイントへのGET呼び出しを使用しています見ることができます。

問題のデバッグに問題がある場合は、Sync Gateway APIに対してcurlコマンドを使用してみてください。これは簡単です(ログ出力などを参照してください)。これはCouchbase Lite APIによく似ています。ドキュメントhereをご覧ください。

関連する問題