跳过 couchbase 地图功能中的关键参数

Skipping a key parameter in couchbase map function

我有地图功能

function (doc, meta) {
  emit([doc.Marks,doc.Acc_no],doc.Type);
}

在这个时候我发送startkey和endkey如下

startkey = [13]
endkey   = [86]

我得到所有标记在 13 到 86 之间的文档,与预期无关,与 Acc_No 无关。

现在我正在尝试的是这样的查询

 startkey =[,1]
 endkey =  [,5]

也就是说,我希望所有文档的 Acc_no 都在 1 到 5 之间,而不管它们的标记如何,但我在此类查询中遇到错误。 如何在不创建新视图的情况下完成第二类查询?

不,你不能那样做。 如果你创建一个键,在这里作为一个数组,你应该使用"first N", 您可以跳过数组中的最后一个对象,但您必须从头到尾指定它们。 所以只能从右边跳,不能从左边跳。

要在这里实现您的目标,您有 2 个选择:

  1. 写一个没有标记的不同观点。
  2. 想想最适合您的密钥的更好排序。

有关详细信息,请参阅文档。

http://docs.couchbase.com/admin/admin/Views/views-querying.html