我正在使用 node.js 并寻找一种方法来获取特定的 couchbase 桶的所有文档。有没有没有循环和增量索引的解决方案?我知道我可以制作一个原子键,然后通过循环使用它来检索所有数据。但我需要一个返回所有文档的函数。是否有任何函数“至少”返回存储桶中已存在的文档数量?
最佳答案
我也遇到过这个问题,根据 Couchbase 工程团队的说法,如果没有 View ,这是不可能的。因此,我最终为 View 制定了命名约定,该 View 应该出现在我想要拥有所有键列表的每个存储桶中。
我称之为“Keys”,我的 map 功能如下:
function (doc, meta) {
emit(meta.id, null);
}
因此,在我的客户端上,我可以迭代存储桶中的所有文档...因为我知道所有键。
另一种选择是使用 N1QL获得所有 key 。这是 Couchbase 3 中引入的一种新查询语言。因此您可以编写这样的查询来返回所有文档键:
SELECT META().id AS id
FROM your_bucket_name
或者您可以自行返回所有文档:
SELECT *
FROM your_bucket_name
检查Node.js and N1QL了解更多信息。
关于node.js - 检索 Couchbase 的所有记录(文档),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26017989/