node.js - 检索 Couchbase 的所有记录(文档)

标签 node.js couchbase

我正在使用 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/

相关文章:

ios - appium 无法启动 - Uncaught Error 工具

docker - Docker容器-Couchbase服务器节点内部IP地址

couchbase - 这个 couchbase 索引有什么问题?

java - 比较和交换: How to map the cas metadata field to document entity of my couchbase

couchbase - UNNEST 数组上的 N1ql SUM

node.js - Sequelize 将 ID 字段设置为 null(非顺序)

javascript - 语法错误: Unexpected token o in JSON at position 1 over ajax request

javascript - 如何在 Mongoose 中更新/插入文档?

node.js - 关于使用 expressjs、postgresql 进行身份验证的任何源代码示例?

java - couchbase 中文档类型和键值类型的区别