에 (버전 1.0.1) 포함 된 목록을 조회 :은 대부분이 같은 구조로, 내 OrientDB 데이터베이스에 문서가 OrientDB
{
"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"
}
]
}
어떻게 예를 들어, 전체 목록을 통해 조회 할 수 있습니다. "ignore"유형의 테스트 케이스를 포함하는 모든 문서를 찾고 싶다면 어떻게해야합니까?
나는 다음과 같은 쿼리
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')
동일한 문제가 발생했습니다. 질문에 업데이트를 게시하고 동의 할 수 있습니다. 그게 내가 찾고 있던거야. –
@DavidLaberge : 제안에 감사드립니다. 그 질문은 너무 오래되어 솔직히 그 상황을 완전히 기억하지 못하기 때문에 그 기동에 대해 조금 불안해합니다. OrientalDB의 문서에 따르면 초기 접근 방식이 작동해야한다는 생각이 들기 때문에 위와 같이 사람들이 데이터베이스를 재구성하도록 장려하는 것은 잘못되었습니다. – Henrik