NodeJS 检索Couchbase的所有记录(文件)

3wabscal  于 2022-12-18  发布在  Node.js
关注(0)|答案(2)|浏览(103)

我正在使用node.js,并寻找一种方法来获取couchbase的特定bucket的所有文档。有没有没有没有循环和增量索引的解决方案?我知道我可以创建一个原子键,然后通过循环使用它来检索所有数据。但我需要一个返回所有文档的函数。有没有任何函数"至少“返回bucket中已经存在的文档数量?

pxiryf3j

pxiryf3j1#

我之前也有过这个问题,根据Couchbase工程团队的说法,没有视图是不可能的。所以我最终为视图制定了一个命名约定,这个约定应该出现在我想要的所有键列表的每个桶中。
我把它叫做“Keys”,我的map函数是这样的:

function (doc, meta) {
  emit(meta.id, null);
}

因此,在我的客户机上,我可以迭代桶中的所有文档......因为我知道所有键。
另一种方法是使用N1QL来获取所有的键,这是Couchbase 3中引入的一种新的查询语言,因此您可以编写如下查询来返回所有文档的键:

SELECT META().id AS id 
FROM your_bucket_name

或者您可以返回所有文档本身:

SELECT * 
FROM your_bucket_name


有关其他信息,请检查Node.js and N1QL

xfb7svmp

xfb7svmp2#

现在有一个范围扫描功能来检索集合中的所有文档或所有ID。

相关问题