OrientDB SQL-如何从内联集合中展开多个属性

OrientDB SQL-如何从内联集合中展开多个属性,orientdb,Orientdb,假设有一个包含内联对象集合的文档,如下例所示: { "name": "Alice", "children": [{ "name": "Bob", "age": 3 }, { "name": "Charlie", "age": 7 }] } 我希望在集合中为每个项获取一行,并将每个内部属性作为单独的列,例如: | name | childName | childAge | | Alice | Bob | 3 | | Alice | Charlie

假设有一个包含内联对象集合的文档,如下例所示:

{ "name": "Alice", 
  "children": [{ "name": "Bob", "age": 3 }, { "name": "Charlie", "age": 7 }] 
}
我希望在集合中为每个项获取一行,并将每个内部属性作为单独的列,例如:

| name    | childName | childAge |
| Alice   | Bob       | 3        |
| Alice   | Charlie   | 7        |
我尝试了以下查询,但它生成了笛卡尔乘积:

select name, children.name as childName, children.age as childAge
from Employee
unwind childName, childAge

我还使用expand和flant函数提取了每个子级,但没有对其父级的任何引用。

我想做同样的事情

我能在ODB中找到的最接近的方法是将子对象分成顶点,如下面的问题所示:

我更愿意按照mongo的方式来做这件事,这并不完全是我想要的,但校长在那里

失败的尝试:

从测试展开子项中选择名称、子项 从测试中选择value.name、value.age 如果有一个指向父级的链接,这将起作用,但value.$parent返回空。
我也想做同样的事情

我能在ODB中找到的最接近的方法是将子对象分成顶点,如下面的问题所示:

我更愿意按照mongo的方式来做这件事,这并不完全是我想要的,但校长在那里

失败的尝试:

从测试展开子项中选择名称、子项 从测试中选择value.name、value.age 如果有一个指向父级的链接,这将起作用,但value.$parent返回空。
您可以做的最简单的事情如下:

  SELECT name, children.name as childName, children.age as childAge FROM (
    SELECT name, children FROM Employee UNWIND children
  )

您可以做的最简单的事情如下:

  SELECT name, children.name as childName, children.age as childAge FROM (
    SELECT name, children FROM Employee UNWIND children
  )