我试图通过OUT()投影将连接的Node数据存储在OrientDB中所选节点的属性中。例如。:
SELECT *, OUT("Has_Friend") AS Friends FROM Person
鉴于“Person”节点通过“Has_Friend”Edge连接到多个“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."
}
]
}
]
}
但是,查询仅在“Friends”属性中存储每个“Friend”节点的RID,而不是“Friend”节点的实际数据。例如。:
{
"result": [
{
"Name": "Joe",
"Friends": [
"#228:1",
"#227:1"
]
},
{
"Name": "Tim",
"Friends": [
"#225:1",
"#226:1"
]
}
]
}
我搜索过OrientDB文档,但不确定如何实现这一目标。我怀疑有一种方法可以在主查询中为那些Friend节点嵌套查询,但我不完全确定如何做到这一点。非常感谢任何见解!
尝试使用expand()功能。它将扩展该链接指向的文档并提供该文档的所有属性。所以你的查询应该是这样的:
SELECT expand(in("Has_Friend")) AS Friend FROM Person