1

CouchDBでビュー照合のメリットを享受しようとしていますが、失敗しました。私の場合、何が問題になっているのかを確認してください。

まず、 http: //www.cmlenz.net/archives/2007/10/couchdb-joinsに基づいています

次に、parent_idでリンクされたツリーを実装します。例:

|- Li
 |- test
  |- tester

CouchDBではこれは次のとおりです。

{"_id":"root","name":"Li","completed":true},
{"_id":"102ef7e2e99db3983a3bb60a490015db","parent_id":"root","name":"test","completed":false},
{"_id":"102ef7e2e99db3983a3bb60a4900209e","parent_id":"102ef7e2e99db3983a3bb60a490015db","name":"tester","completed":false}

したがって、次のビューを定義します。

items : {
    map : function(doc){
        emit([doc._id, 0], doc);
        emit([doc.parent_id, 1], doc);
    }
}

そして、startKey = ["root"]のクエリは2つのドキュメントルートのみを返し、それは直接の子のみを返しますが、クエリはすべての(2倍の)ドキュメントを返します。つまり、キーによるフィルタリングは機能しません。

何が問題になる可能性がありますか?

あなたはhttp://yo.iriscouch.com/_utils/database.html?catsでDBを見ることができます

次に、クエリhttp://yo.iriscouch.com/cats/_design/app/_view/items?startKey=[%22root%22]は、引数がない場合とまったく同じように返されます。つまり、startKeyは無視されているように見えます。

startKey = ["root"、0]&endKey = ["root"、2]も試してみましたが、運がありませんでした。

ありがとうございました。

4

1 に答える 1

2

'startKey'ではなく'startkey'です(大文字と小文字を区別してください)。

http://wiki.apache.org/couchdb/HTTP_view_API#Querying_Options

于 2011-11-10T17:58:29.490 に答える