在视图中使用 Date()

问题描述

是否可以在 CouchDB 视图中使用 Date() 根据当前日期过滤结果?我认为它只会在记录更改时更新视图?

如果是这样,有没有办法告诉视图每 24 小时重新索引一次?

我意识到我可以在视图中提取所有数据,然后使用代码进行过滤,但我想知道是否有办法在视图中完成所有操作。

解决方法

是否可以在 CouchDB 视图中使用 Date() 根据当前日期过滤结果?

Date() 只会在视图重建期间计算,因此您不能使用它来根据查询时间获取查询结果。

我认为它只会在记录更改时更新视图?

视图在文档更改时增量更新,并在定义更改时完全重建。

如果是这样,有没有办法告诉视图每 24 小时重新索引一次?

没有

我意识到我可以在视图中提取所有数据,然后使用代码进行过滤,但我想知道是否有办法在视图中完成所有操作。

作为替代方案,您可以使用 filter functions 来过滤更改提要。这些过滤器在查询时进行评估,因此您可以使用此功能实现您的目的。此外,selectors 可能会对此有所帮助。