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

时间:2016-03-03 06:41:38

标签: mapreduce couchdb couchbase couchbase-view

我有地图功能

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

当我按如下方式发送startkey和endkey时

startkey = [13]
endkey   = [86]

无论Acc_No如何,我都会按预期获得标记在13到86之间的所有文档。

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

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

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

1 个答案:

答案 0 :(得分:3)

不,你不能这样做。 如果你在这里创建一个键,你应该使用“前N”, 您可以跳过数组中的最后一个对象,但必须从开始到某个点指定它们。 所以你只能从右边跳过,而不是从左边跳过。

为了实现您的目标,您有两个选择:

  1. 写一个没有标记的不同视图。
  2. 想出一个更适合你的钥匙的更好的顺序。
  3. 有关详细信息,请参阅文档。

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