我有大量文件,每个文件的有效期为几天。范围可以从 1 周到 1 年。我希望能够获得在特定日期有效的所有文件。
我该怎么做?
例如说我有以下两个文件:
doc1 = {
// 1 year ago to today
start_at: "2012-03-22T00:00:00Z",
end_at: "2013-03-22T00:00:00Z"
}
doc2 = {
// 2 months ago to today
start_at: "2012-01-22T00:00:00Z",
end_at: "2013-03-22T00:00:00Z"
}
还有一个地图功能:
(doc) ->
emit([doc.start_at, doc.end_at], null)
因此,对于 6 个月前的日期,我只会得到 doc1,而在 1 周前的日期,我会得到两份文件,而在明天的日期,我将不会收到任何文件。
请注意,实际解析需要精确到发出请求的第二个,并且有很多文档,因此为每个有效秒发出一个密钥的策略是不合适的。