嵌套顶点的查询结果
Query result with nested vertices
[这里是 OrientDB 初学者..]
我的数据结构如下:
User <[PostEdge]- Post <[CommentEdge]- Post
^[CommentEdge]- Post
^[CommentEdge]- Post
因此,post 通过 PostEdge 与用户相关,而另一个 post 可能通过 CommentEdge 与 post 相关。
我正在尝试查询提供如下内容的数据结构:
[
{
content: "",
comments: [{content: ""}, {content: ""}, {content: ""}],
poster: {name: ""}
}
]
到目前为止我得到的最接近的是..
SELECT uuid, content, created_on, IN('CommentEdge') as comments, in('PostEdge') as poster
FROM (SELECT expand(out('PostEdge')) FROM #28:0)
WHERE outE('CommentEdge').size() = 0
这个returns我有点像..
[
{content: "", comments: [#12:0, #13:0, #14:0], poster: [#15:0]}
]
我花了一天的时间试图解决这个问题,但我做空了。那,我相当确定“FROM (SELECT.....` 部分不是一个好主意。所以,首先,是否有一个函数或我缺少的东西,包括那些记录而不只是返回记录 ID?其次,是否有更好的方法来做我想做的事情?(我假设有,只是我还没有掌握诀窍)。
所以,我要找的是 'fetchplan'。这最终解决了我的问题。
https://orientdb.com/docs/2.2/Fetching-Strategies.html
本质上,fetchplan 是一条指令,告诉查询 expand/traverse 链接文档。
我的接近尾声结果是..
SELECT content, uuid, created_on, @rid, in('CommentEdge') as comments
FROM (SELECT expand(out('PostEdge')) FROM :userId WHERE outE('CommentEdge').size() = 0 )
FETCHPLAN comments:1
[这里是 OrientDB 初学者..]
我的数据结构如下:
User <[PostEdge]- Post <[CommentEdge]- Post
^[CommentEdge]- Post
^[CommentEdge]- Post
因此,post 通过 PostEdge 与用户相关,而另一个 post 可能通过 CommentEdge 与 post 相关。
我正在尝试查询提供如下内容的数据结构:
[
{
content: "",
comments: [{content: ""}, {content: ""}, {content: ""}],
poster: {name: ""}
}
]
到目前为止我得到的最接近的是..
SELECT uuid, content, created_on, IN('CommentEdge') as comments, in('PostEdge') as poster
FROM (SELECT expand(out('PostEdge')) FROM #28:0)
WHERE outE('CommentEdge').size() = 0
这个returns我有点像..
[
{content: "", comments: [#12:0, #13:0, #14:0], poster: [#15:0]}
]
我花了一天的时间试图解决这个问题,但我做空了。那,我相当确定“FROM (SELECT.....` 部分不是一个好主意。所以,首先,是否有一个函数或我缺少的东西,包括那些记录而不只是返回记录 ID?其次,是否有更好的方法来做我想做的事情?(我假设有,只是我还没有掌握诀窍)。
所以,我要找的是 'fetchplan'。这最终解决了我的问题。
https://orientdb.com/docs/2.2/Fetching-Strategies.html
本质上,fetchplan 是一条指令,告诉查询 expand/traverse 链接文档。
我的接近尾声结果是..
SELECT content, uuid, created_on, @rid, in('CommentEdge') as comments
FROM (SELECT expand(out('PostEdge')) FROM :userId WHERE outE('CommentEdge').size() = 0 )
FETCHPLAN comments:1