尝试更新现有的 CouchDB 映射函数,使其仅返回过去 24 小时内创建的文档。
现在的地图很简单
function(doc) {
if(doc.email && doc.type == 'user')
emit(doc.email, doc);
}
我想获取当前的 linux 时间戳值并将其与存储在文档中的 creationTime.unix 值进行比较。
那可能吗?
注意我正在用蒲团构建视图
尝试更新现有的 CouchDB 映射函数,使其仅返回过去 24 小时内创建的文档。
现在的地图很简单
function(doc) {
if(doc.email && doc.type == 'user')
emit(doc.email, doc);
}
我想获取当前的 linux 时间戳值并将其与存储在文档中的 creationTime.unix 值进行比较。
那可能吗?
注意我正在用蒲团构建视图
我不知道你是否可以这样做,但如果可以的话,这对 CouchDB 数据库的健全性非常不利。
每次调用同一个文档的映射函数都应该发出相同的值(前提是该文档同时没有更改)。这很重要,因为 CouchDB 将这些发出的数据存储在索引中,并且在必要之前不会再次重新计算它。如果 map 函数可以为同一个文档发出不同的值,那将导致索引不可用。
所以,不,不要尝试。
好消息是,没有它,您可以轻松实现所需的功能。如果您发出创建时间,则可以仅在视图中查询具有特定时间间隔的文档,例如:
/blog/_design/docs/_view/by_date?startkey="2010/01/01 00:00:00"&endkey="2010/02/00 00:00:00"