Thi*_*ijs 2 javascript marklogic
以下代码正在运行但速度极慢.直到搜索功能一切顺利.首先,搜索函数返回一个序列而不是一个数组(为什么?!).其次,数组由节点组成,我需要URI来删除.第三,deleteDocument函数接受一个字符串而不是URI的数组.
有什么更好的方法呢?我需要删除年份+旧文档.
在这里我使用xdmp.log而不是document.delete只是安全.
var now = new Date();
var yearBack = now.setDate(now.getDate() - 365);
var date = new Date(yearBack);
var b = cts.jsonPropertyRangeQuery("Dtm", "<", date);
var c = cts.search(b, ['unfiltered']).toArray();
for (i=0; i<fn.count(c); i++) {
xdmp.log(fn.documentUri(c[i]), "info");
};
Run Code Online (Sandbox Code Playgroud)
做同样的事情cts.uris
:
var now = new Date();
var yearBack = now.setDate(now.getDate() - 365);
var date = new Date(yearBack);
var b = cts.jsonPropertyRangeQuery("Dtm", "<", date);
var c = cts.uris("", [], b);
while (true) {
var uri = c.next();
if (uri.done == true){
break;
}
xdmp.log(uri.value, "info");
}
Run Code Online (Sandbox Code Playgroud)
HTH!