Jam*_*sen 6 javascript couchdb mapreduce
我正在使用似乎是创建连接视图的常用技巧:
// 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);
}
}
Run Code Online (Sandbox Code Playgroud)
我知道我可以使用以下查询来获取单个customer和所有相关的Orders:
?startkey=["some_customer_id"]&endkey=["some_customer_id", 2]
Run Code Online (Sandbox Code Playgroud)
但现在我已经绑我的查询非常密切合作,以我的视图代码.有什么价值我可以把我的" 2"更清楚地说,"我希望一切都与这个客户联系在一起"?我想我已经看过了
?startkey=["some_customer_id"]&endkey=["some_customer_id", {}]
Run Code Online (Sandbox Code Playgroud)
但我不知道那{}是一定的排序后一切.
感谢cmlenz的连接方法.
关于整理的CouchDB维基页面的进一步说明:
该查询
startkey=["foo"]&endkey=["foo",{}]将匹配大多数数组键与第一个元素中的"foo",例如["foo","bar"]和["foo",["bar","baz"]].但它不会匹配["foo",{"an":"object"}]
所以排序顺序{}是晚了,但绝对不是最后的.
我建议不要试图找到数组键中第二个元素的最大可能值,而是尝试找到大于第一个:的最小可能值。?startkey=["some_customer_id"]&endkey=["some_customer_id\u0000"]&inclusive_end=false
| 归档时间: |
|
| 查看次数: |
2588 次 |
| 最近记录: |