首页 文章

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

提问于
浏览
1

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

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

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

1 回答

  • 4

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

    emit(meta.id, meta)
    

    这给了我们

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

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

    Side note :doc的id将始终是视图响应的一部分,因此发出它有点多余 . 更重要的是, don't emit the whole doc as a value (如果对第二个字段的发射有疑问,只发出 null ) . 此值字段存储在索引中,这意味着您基本上将文档的内容存储两次(一次存储在主存储中,一次存储在视图索引中)!

相关问题