我正在使用CouchBase作为我的数据库实现Express Web服务。为了获取存储在存储桶中的所有文档,我使用Web控制台创建了一个视图。
我的问题是,如果有办法做同样的事情,但没有创建视图或使用N1QL。
我正在查看Couchbase Server REST API,但我没有找到办法。
谢谢
答案 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()
操作。