我正在使用spring数据来获取couchbase文档。我假设文档到期不能设置为属性文件中外化的可配置值(@Document(expiry =)),基于此link中的答案
但是我可以在cochbase中定义一个视图并且查询只返回过去15分钟内创建的文档吗?我不想在我的文档中保存有关日期的其他信息,我希望查看是否有可用于此目的的元数据
function (doc, meta) {
if(doc._class=="com.customer.types.CustomerInfo" ){
emit(meta.id, doc);
}
}
答案 0 :(得分:4)
如果您进入网络控制台并创建开发视图,您可以使用预览查看可用的元数据:
emit(meta.id, meta)
这给了我们
{
"id": "someKey",
"rev": "3-00007098b90700000000000002000000",
"seq": "3",
"vb": "56",
"expiration": 0,
"flags": 33554432,
"type": "json"
}
正如您所看到的,没有明确的元数据可用于判断文档是否在过去15分钟内创建/更新。
旁注:文档的ID始终是视图响应的一部分,因此发出它有点多余。更重要的是,不会将整个文档作为值发出(如果对作为第二个字段发出的内容有疑问,则只发出null
)。此值字段存储在索引中,这意味着您基本上存储了文档的内容两次(一次存储在主存储中,一次存储在视图索引中)!