我正在尝试通过OUT()投影将连接的节点的数据存储在OrientDB中选定节点的属性中。例如:
SELECT *, OUT("Has_Friend") AS Friends FROM Person
鉴于“ Person”节点通过“ Has_Friend”边缘连接到多个“ Friend”节点,我希望实际的Friend Node属性存储在此查询返回的每个Person节点的“ Friends”属性中。例如:
{
"result": [
{
"Name": "Joe",
"Friends": [
{
"Name": "Ben",
"Title": "Mr."
},
{
"Name": "Stan",
"Title": "Dr."
}
]
},
{
"Name": "Tim",
"Friends": [
{
"Name": "Terrance",
"Title": "Esq."
},
{
"Name": "Sarah",
"Title": "Dr."
}
]
}
]
}
但是,查询仅将每个“朋友”节点的RID存储在“朋友”属性中,而不是存储该“朋友”节点的实际数据。例如:
{
"result": [
{
"Name": "Joe",
"Friends": [
"#228:1",
"#227:1"
]
},
{
"Name": "Tim",
"Friends": [
"#225:1",
"#226:1"
]
}
]
}
我已经搜索了OrientDB文档,但是不确定如何实现。我怀疑有一种方法可以在主查询中嵌套那些Friend节点的查询,但是我不确定如何做到这一点。任何见解都将不胜感激!
答案 0 :(得分:0)
尝试使用expand()功能。它将扩展该链接指向的文档,并提供此文档的所有属性。因此您的查询应如下所示:
SELECT expand(in("Has_Friend")) AS Friend FROM Person