具有时间限制的CouchDB视图



我有以下问题:

我将URL存储在Couchdb中,其中包含一些附加信息,例如发布日期。我有一个视图,它返回发布日期小于 12 小时的所有 URL。

奇怪的是,我很惊讶它有效。即。在 24 小时不接触数据库后,当最后一个操作是运行"贬值"视图并返回一些 URL 时,下次调用此视图时,它不会返回任何项目。

我假设已经阅读了,视图不会在所有元素上运行,而只会运行自上次运行视图以来已更改或添加的元素。这就是为什么第二次运行视图通常比第一次更快的原因。

在我的示例中,文档从视图中"过期",如果没有进行编辑,我不会期望发生这种情况。

我哪里出错了?

请确保您

的视图实现不依赖于文档外部的数据(如当前日期)...否则在 CouchDB 中实现的缓存机制将完全被破坏。

要让发布时间不到 12 小时的网址,您必须:

  1. 生成发布日期的索引(date可排序,如[2013,10,22,13,54]):

    function(o) {
      emit(o.date, null);
    }
    
  2. 查询所需时间的索引:

    GET /mydb/_design/myapp/myview?startkey=[2013,10,22,1,56]&include_docs=true
    

相关内容

  • 没有找到相关文章

最新更新