0

因此,我在工件中有此规范文件,以删除多个存储库(本例中为 3 个)中超过 3 个月的文件夹(其中包含工件)。

{
    "files": [{
        "aql": {
            "items.find": {
                "$or": [{
                    "$and": [{
                        "repo": "repo1",
                        "path": "com/domain/repo1",
                        "created": {
                            "$before": "3mo"
                        }
                        "type": "folder",
                        "name": {"$match":"20*"}
                    }],
                    "$and": [{
                        "repo": "repo2",
                        "path": "com/domain/repo2",
                        "created": {
                            "$before": "3mo"
                        }
                        "type": "folder",
                        "name": {"$match":"20*"}
                    }],
                    "$and": [{
                        "repo": "repo3",
                        "path": "com/domain/repo3",
                        "created": {
                            "$before": "3mo"
                        }
                        "type": "folder",
                        "name": {"$match":"20*"}                    
                    }]
                }]
            }
        }
    }]
}

但我得到:[错误]对象键后无效字符“”:值对

我怎么知道导致错误的 ( " ) 是什么? 不像其他语言那样描述输出,至少告诉你行号。

另一方面,如果我对单个存储库使用以下规范,它就像一个魅力。谢谢你!

{
"files": [{
    "aql": {
        "items.find": {
            "repo": "repo5",
            "path": "com/domain/repo5",
            "created": {
                 "$before": "3mo"
            },
            "type":"folder",
            "name": {"$match":"20*"}
        }
    }
}]}
4

1 回答 1

2

在所有“创建的”键/值对之后,您都缺少逗号:

"created": {
   "$before": "3mo"
} <-- missing a comma here
"type": "folder",

请注意,您的工作示例在正确的位置有逗号。

于 2020-02-26T16:15:32.720 回答