检索Couchbase的所有记录(文档)

时间:2014-09-24 13:18:34

标签: node.js couchbase

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

1 个答案:

答案 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以获取更多信息。