以下代码正在运行,但速度非常慢。直到搜索功能一切正常。首先,搜索函数返回一个序列而不是数组(为什么?!)。其次,数组由节点组成,我需要用于删除的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");
};
感谢。函数fn.documentUri现在不适用于循环中的'doc'。 typeof显示它是一个Object。 – Thijs
我认为你需要用next()。value替换next()。 MarkLogic总是返回ValueIterator类型的迭代器。 – grtjn
值得考虑使用cts.uris .. – grtjn