結合ビューを作成するための一般的なトリックと思われるものを使用しています。
// a Customer has many Orders; show them together in one view:
function(doc) {
if (doc.Type == "customer") {
emit([doc._id, 0], doc);
} else if (doc.Type == "order") {
emit([doc.customer_id, 1], doc);
}
}
次のクエリを使用して、関連する単一の scustomer
とすべての sを取得できることを知っています。Order
?startkey=["some_customer_id"]&endkey=["some_customer_id", 2]
しかし今では、クエリをビュー コードに非常に密接に結びつけることができました。「すべてをこの顧客に結び付け2
たい」とより明確に言うために、「 」を置く場所に置くことができる値はありますか? 見たことがあると思います
?startkey=["some_customer_id"]&endkey=["some_customer_id", {}]
しかし、それが他のすべての後に確実にソートされるかどうか{}
はわかりません。
join メソッドについてはcmlenzの功績によるものです。
collation に関する CouchDB wiki ページからのさらなる説明:
このクエリは、 and
startkey=["foo"]&endkey=["foo",{}]
など、最初の要素が「foo」であるほとんどの配列キーと一致します。ただし、一致しません["foo","bar"]
["foo",["bar","baz"]]
["foo",{"an":"object"}]
ソート順{}
は遅いですが、間違いなく最後ではありません。