有没有办法从桶中读取所有文件?它是一个活跃的桶,我也想访问新创建的文档
很少有人建议使用查看来查询存储桶。
如何创建一个将使用新的或更新的文档更新的视图?
新创建的视图的地图功能:
function (doc, meta) {
emit(doc);
}
减少功能为空。当我查询像bucket.query(ViewQuery.from("test1", "all")).totalRows()
这样的视图时,它返回0结果。
答案 0 :(得分:5)
对于返回零结果问题,您是否将视图提升为生产视图?这是一个常见的错误。开发视图只查看一小部分数据,以免不堪重负。先试试这个。
此外,如果您可以提供帮助,永远不会发出整个文档,尤其是当您查看存储桶中的所有文档时。您希望发出文档的ID,然后如果需要获取这些对象的内容,请执行get操作或批量操作。我会为您提供批量操作的直接链接,但您还没有说明您使用的SDK以及那些特定于SDK的SDK。例如,这是Java的一个。
所有这一切,我都有一些问题,为什么你要从桶中做相当于select *。一旦有了这些数据,您打算如何处理?你真的想做什么?当然,如何解决这个问题有很多选择。
答案 1 :(得分:2)
视图只是对存储桶的预定义查询。视图中将显示新的或已更改的文档。
通过单击Web UI中的“显示结果”按钮,可以在创建视图时检查视图的结果,因此如果0文档显示在那里,那么从SDK获得0就不足为奇了。
如果您正在运行Couchbase Server 4+和最新的SDK,您可以使用N1QL并在您的存储桶上创建主索引,然后定期执行Select * from bucket
以获取所有文档。