如何判断何时在Couchbase中创建/更新文档?

时间:2016-01-07 21:38:25

标签: couchbase

我正在使用spring数据来获取couchbase文档。我假设文档到期不能设置为属性文件中外化的可配置值(@Document(expiry =)),基于此link中的答案

但是我可以在cochbase中定义一个视图并且查询只返回过去15分钟内创建的文档吗?我不想在我的文档中保存有关日期的其他信息,我希望查看是否有可用于此目的的元数据

   function (doc, meta) {
    if(doc._class=="com.customer.types.CustomerInfo" ){
      emit(meta.id, doc);
    }
   }

1 个答案:

答案 0 :(得分:4)

如果您进入网络控制台并创建开发视图,您可以使用预览查看可用的元数据:

emit(meta.id, meta)

这给了我们

{
  "id": "someKey",
  "rev": "3-00007098b90700000000000002000000",
  "seq": "3",
  "vb": "56",
  "expiration": 0,
  "flags": 33554432,
  "type": "json"
}

正如您所看到的,没有明确的元数据可用于判断文档是否在过去15分钟内创建/更新。

旁注:文档的ID始终是视图响应的一部分,因此发出它有点多余。更重要的是,不会将整个文档作为值发出(如果对作为第二个字段发出的内容有疑问,则只发出null)。此值字段存储在索引中,这意味着您基本上存储了文档的内容两次(一次存储在主存储中,一次存储在视图索引中)!