【发布时间】:2019-11-11 16:21:32
【问题描述】:
我们在数据库中有多个版本的文档。例如 文档 URI 如下所示:-
/PremierLeague/Manutd/players.xml-version-2
/PremierLeague/Manutd/players.xml-version-3
/PremierLeague/Manutd/players.xml-version-4
.
.
.
.
.
/PremierLeague/Manutd/players.xml-version-998
/PremierLeague/Manutd/players.xml-version-999
/PremierLeague/Manutd/players.xml-version-1000
我们需要找到所有这样的文档的计数,然后删除所有高于“.version-20”的文档版本。
例如
/PremierLeague/Manutd/players.xml-version-19 --> NOT DELETE
/PremierLeague/Manutd/players.xml-version-20 --> NOT DELETE
/PremierLeague/Manutd/players.xml-version-21 --> TO BE DELETED
/PremierLeague/Manutd/players.xml-version-22 --> TO BE DELETED
.
.
.
.
/PremierLeague/Manutd/players.xml-version-999 --> TO BE DELETED
/PremierLeague/Manutd/players.xml-version-1000 --> TO BE DELETED
我们有多个目录,其中存在多个文档。 截至目前,我们正在统计如下文件
xquery version "1.0-ml";
fn:count(fn:doc("/PremierLeague/Manutd/players.xml-version-*"))
删除此类文档的最佳方法是什么?
【问题讨论】:
-
您不想保留最新的版本,作为最后的数字吗?使用时间戳会更容易,并使用日期范围查询执行 cts:uris。这会是一个选择吗?
-
感谢您的回复。我们使用
xquery version "1.0-ml"; for $i in 1 to 980 return xdmp:document-delete('/PremierLeague/Manutd/players.xml-version-*'||$i||)