从没有View或N1QL的CouchBase Bucket获取所有文档

时间:2015-03-06 09:52:18

标签: express couchbase

我正在使用CouchBase作为我的数据库实现Express Web服务。为了获取存储在存储桶中的所有文档,我使用Web控制台创建了一个视图。

我的问题是,如果有办法做同样的事情,但没有创建视图或使用N1QL。

我正在查看Couchbase Server REST API,但我没有找到办法。

谢谢

3 个答案:

答案 0 :(得分:1)

你可以围绕这样的东西设计你的模式。我正在考虑一个特定的关键模式,允许批量获取一系列文档。

除此之外,没有视图或N1QL就没有办法。

答案 1 :(得分:0)

在Couchbase 3.0及更高版本中,您还可以使用DCP从存储桶中流式传输所有文档。目前DCP协议仅在java中实现,您可以在此处查看示例:http://github.com/branor/couchbase-dcp-consumer 请注意,couchbase core-io库的1.1.0+版本存在问题,因此您需要使用版本1.1.0-dp(开发人员预览版)来打开流。 SDK中的DCP支持仍然是实验性的,所以我还不会在生产中使用它。

答案 2 :(得分:0)

创建一个包含所有文档密钥的文档。 在couchbase中插入键值对时,还要将键附加到该文档。

例如:

<Key1, Value1>
<Key2, Value2>
.
.
.
<Keyx, Valuex>

<All_Keys, <Key1, Key2, Key3...Keyx>>

要获取所有文件, 只需执行client.get("All_Keys")然后执行client.getBulk()操作。

相关问题