How to get the latest document in couchbase bucket?
我的ouchbase-db中有一个活动存储桶,我需要检索不同类型的最新文档,我的最初方法是:
文档格式:[id,{val.time,val.type,val.load}]
然后我写了不同的视图来映射一个特定的val.type,我使用reduce来获取最新的val.time,但是我遇到了视图未更新的问题(这显然是因为Map仅在new或change上调用文档,并且此方法需要映射和缩减所有文档。)
在Couchbase(NoSQL)数据库上基于时间的数据的最佳实践/方法是什么?
您可以使用以下简单视图按时间访问文档:
将您的时间转换为整数值。例如,使用
使用此整数值作为视图的键。然后,您可以访问第一个或最后一个文档。
如果您始终需要最后一个文档,则取消时间值的速度会更快,因此最大的时间在索引的开头。
如果您使用的是开发设计文档,则预期将新的密钥添加到存储桶中可能不会对视图产生影响。由于只有存储桶中的一部分键会进入Map / Reduce管道,因此添加不进入该子集的键不会触发视图更新。
要么在生产设计文档上对其进行评估(通过单击"发布"按钮),要么尝试添加更多键。