复合CouchDB密钥的最大值是多少?

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"}]

所以排序顺序{}了,但绝对不是最后的.

use*_*996 1

我建议不要试图找到数组键中第二个元素的最大可能值,而是尝试找到大于第一个:的最小可能值。?startkey=["some_customer_id"]&endkey=["some_customer_id\u0000"]&inclusive_end=false