使用 Couchbase View 读取文档子集

Reading a subset of documents using Couchbase View

我的集群中有大约 2500 万个文档。我需要在没有任何特定标准的情况下一次阅读 1M 文档。我无权访问密钥。所以我需要创建一个视图,它会发出文档,直到我到达一个高达 1M 的计数器。

我写了一个Map函数,我想在里面创建一个静态变量,但是JS不支持静态变量。我不确定如何进行此操作。我写的地图函数只有 return 1000 个文件,而且错误百出。有人可以帮助我实现此功能吗?

function (doc, meta) {
  value = foo();
  if(value < 1000)
  {
    emit(meta.id, null);
  }else{
    return;       
  }
}

function incrementor(){
  if(typeof incrementor.counter == 'undefined'){
       incrementor.counter = 0; 
  }

  return ++incrementor.counter;
}

可以使用分页来读取带有视图的文档子集:http://blog.couchbase.com/pagination-couchbase 存储在桶中的每个突变都会调用 Map 函数,因此像这样的计数器方法没有意义。如果要拆分索引,则需要根据文档的内容进行拆分。但是你真的应该使用分页。顺便用N1Ql也可以实现这个