我正在使用node.js,并寻找一种方法来获取couchbase的特定bucket的所有文档。有没有没有没有循环和增量索引的解决方案?我知道我可以创建一个原子键,然后通过循环使用它来检索所有数据。但我需要一个返回所有文档的函数。有没有任何函数"至少“返回bucket中已经存在的文档数量?
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。
xfb7svmp2#
现在有一个范围扫描功能来检索集合中的所有文档或所有ID。
2条答案
按热度按时间pxiryf3j1#
我之前也有过这个问题,根据Couchbase工程团队的说法,没有视图是不可能的。所以我最终为视图制定了一个命名约定,这个约定应该出现在我想要的所有键列表的每个桶中。
我把它叫做“Keys”,我的map函数是这样的:
因此,在我的客户机上,我可以迭代桶中的所有文档......因为我知道所有键。
另一种方法是使用N1QL来获取所有的键,这是Couchbase 3中引入的一种新的查询语言,因此您可以编写如下查询来返回所有文档的键:
或者您可以返回所有文档本身:
型
有关其他信息,请检查Node.js and N1QL。
xfb7svmp2#
现在有一个范围扫描功能来检索集合中的所有文档或所有ID。