Couchbase查看超过一个月的文档

时间:2016-02-27 15:46:17

标签: couchbase couchbase-view

我正在尝试创建一个沙发基本视图,用于检索尚未更新超过一个月的所有视图的ID。 他们的密钥也不应该包含字符串ID:

function (doc, meta) {

  if (meta.id.indexOf("ID") == -1) {
    var currentDate = new Date();
    var currentDateInMillis = currentDate.getTime();
    if (doc.lastTimestampMillis != null && doc.lastTimestampMillis < (currentDateInMillis - (30 * 24 * 60 * 60 * 1000))) {
      emit(meta.id, meta.id)
    }
  }
}

请注意,我的文档中有lastTimestampMillis字段。

嗯,这段代码不起作用。

1 个答案:

答案 0 :(得分:2)

不是在视图代码中实现日期检查逻辑,而是发出doc.lastTimestampMillis,然后查询所需的日期。例如。 query.endkey(<now - 30d>)将为您提供最多30天前的所有时间戳。由于发布的值仅在文档更改时更新,因此您编写的视图几乎立即变为陈旧。只发出时间戳的好处是可以让您查询任何日期范围,以及实时反映正确的时间戳。