我正在使用node.js并寻找一种获取特定存储桶库的所有文档的方法。有没有循环和增量索引的解决方案吗?我知道我可以创建一个原子密钥,然后通过循环使用它来检索所有数据。但是我需要一个返回所有文档的函数。是否有任何函数“至少”返回桶中已存在的文档数量?
答案 0 :(得分:1)
我之前也有这个问题,根据Couchbase工程团队的说法,如果没有观点,就不可能。所以我最终得到了一个视图的命名约定,该约定应存在于我希望拥有所有键列表的每个存储桶中。
我称之为" Keys"我的地图功能如下:
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以获取更多信息。