Как запросить артефакт для артефактов, у которых отсутствует свойство
У меня есть процесс, который я хочу запустить, чтобы добавить какое-либо произвольное свойство к артефактам, которые соответствуют определенным критериям, но еще не имеют назначенного свойства. Я пытался сделать запрос, как:
items.find({
"$and":[
{"repo": "libs-release-local"},
{"@foo": {"$eq":null}}
]
}).include("path", "name")
но это никогда не возвращает никаких результатов. Есть ли способ запросить элементы, которые не имеют свойства "foo"?
2 ответа
Я успешно с помощью запроса, как:
items.find({
"$and":[
{"repo": "libs-release-local"},
{"@foo": {"$nmatch":"*"}}
]
}).include("path", "name")
Был бы признателен, если кто-то с большим опытом aql может подтвердить, что это лучший способ сделать это, и я не нарушил некоторые API и просто повезло. Это было совсем не интуитивно.
Вот, на вашем примере:
items.find({
"repo": "libs-release-local",
"property.key": {"$ne": "foo"}
}).include("path", "name")