在Artifactory AQL查询中,包含文件时排序功能会被忽略,解决方法是使用子查询(嵌套查询)来排序。
例如,要按最后修改日期对包含文件进行排序,可以使用以下查询语句:
items.find({
"repo": "my-repo",
"$or": [
{
"$and": [
{
"path": {"$match": "path/to/include/*"}
},
{
"$or": [
{"name": {"$match": "*.zip"}},
{"name": {"$match": "*.jar"}}
]
}
]
},
{"path": {"$nmatch": "path/to/include/*"}}
]
})
.include("name", "repo")
.sort({"$desc": ["updated"]})
这里使用了子查询将排序应用于包含文件,最后通过.include()
方法来获取需要的结果。