2014-09-24 86 views
0

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

回答

1

我之前也有过这个问题,因为每个Couchbase工程团队都不可能没有视图。所以我最终得到了一个命名约定,这个命名约定应该出现在我想要列出所有密钥的每个桶中。

我称之为“钥匙”,我的地图功能是这样的:

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为附加信息。

+0

感谢您的帮助。我知道我想用N1QL。但是有一个错误。你可以告诉你关于这篇文章的想法:http://stackoverflow.com/questions/26044397/n1ql-and-node-on-couchbase – Danial 2014-09-25 17:17:31