У меня есть документ в моей базе данных OrientDB (версии 1.0.1 )с примерно такой структурой:
{
"timestamp": "...",
"duration": 665,
"testcases": [
{
"testName": "test01",
"type": "ignore",
"filename": "tests/test1.js"
},
{
"iterations": 1,
"runningTime": 45,
"testName": "test02",
"type": "pass",
"filename": "tests/test1.js"
},
...
{
"testName": "test05",
"type": "ignore",
"filename": "tests/test1.js"
}
]
}
Как я могу запросить весь список, например. если я хочу найти все документы, содержащие тесткейс с типом «игнорировать»?
Я попытался выполнить следующий запрос
select from testresult where testcases['type'] = 'ignore'
но это приводит к NumberFormatException
.
select from testresult where testcases[0]['type'] = 'ignore'
работает, но, очевидно, смотрит только на первый элемент списка каждого документа.
select from testresult where testcases contains(type = 'ignore')
Не дает никаких результатов, но запрос принимается как действительный.
Обновление: Следующий запрос работает по назначению, если наборы тестов хранятся как отдельные документы, а не как встроенный список.
select from testresult where testcases contains (type = 'ignore')