假设有一个包含对象内联集合的文档,如下面的示例:
{ "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和flatten函数提取了每个孩子,但没有引用其父对象。
我想做同样的事情。
我在ODB中能找到的最接近的是将子级分割为顶点,例如此问题:OrientDB: How to flatten nested heirarchy into a single record
我更喜欢用mongo处理它(不完全是我想要的,但是主体在那里。):MongoDB unwind multiple arrays
尝试失败: