gpt4 book ai didi

java - 查询 OrientDB 中的嵌入列表

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:19:55 25 4
gpt4 key购买 nike

我的 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')

最佳答案

我知道这是一个老问题,但我遇到了同样的问题,只是在这里偶然发现了一个答案: https://www.mail-archive.com/orient-database@googlegroups.com/msg00662.html

以下应该有效。它在我非常相似的用例中确实如此。

select from testresult where 'ignore' in testcases.type

关于java - 查询 OrientDB 中的嵌入列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11360957/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com