【发布时间】:2017-11-07 08:08:13
【问题描述】:
我正在使用 cloudant 数据库来存储我的值并指定我的 文档 ID 为 string+date(ddmmyy)(例如 foo071117)。最近我 需要过滤文档以显示最近 7 天的文档 (例如 foo311017 到 foo061117)我已经使用视图来做到这一点。这是我的代码:
function (doc) {
var datearr = [];
var today = new Date()
for (var i =1; i<=7; i++){
var datesfull = new Date(today.getFullYear(), today.getMonth(), today.getDate() - i);
var dd = datesfull.getDate();
if (dd<10){
dd = '0'+dd;
}
var mm = datesfull.getMonth()+1;
if (mm<10){
mm ='0'+mm
}
var yy = datesfull.getFullYear().toString().substr(-2);
var dates = "foo" + dd + mm + yy;
datearr.push(dates);
}
if((datearr.indexOf(doc._id.slice(0,-1))>=0) || (datearr.indexOf(doc._id)>=0)){
emit(doc._id,doc);
}
}
切片用于当我的 json 文件变得太大并且我必须将文件拆分为多个文件(例如 foo0711170、foo0711171)时
这段代码在运行后开始工作,cloudant 视图只显示了我想要的 7 个文档。但是,随着时间的推移,旧文件仍然存在,而不是只有 7 个文件。 Cloudant 是否应该按照我的代码中指定的方式刷新以在视图中显示 7 个文档,还是由于数据的存储方式?
*我无法使用 URL 查询过去 7 天的数据,因为我正在使用 powerBI,这限制了我编写代码来指定要提取哪个文档 ID 的能力,因此我只能使用视图作为过滤器
【问题讨论】:
标签: javascript cloudant