OrientDB - 从匹配查询中返回带有嵌入顶点的JSON

时间:2018-03-26 15:36:51

标签: orientdb

我有问题从数据库返回一个包含嵌入顶点的好json。

以下是示例图表:

graph in the studio

以下是一个示例查询:

match {class: user, as: user, where: (name='tihomir')} .both('hasA'){as: task}.both('hasA'){as: tag} RETURN user, task.name, tag.name

结果是预期的结果:

enter image description here

但我真正需要的是这样的事情:

[
 {
  user: {
   name: "user_name",
   tasks: [{
    name: "task_name",
    tags: [{
     name: "tag_name"
    }]
   }]
  }
 }
]

我无法通过fetch API实现这一目标。

2 个答案:

答案 0 :(得分:0)

您是否尝试使用“嵌套投影”?

以下应该做的工作:

match 
   {class: user, as: user, where: (name='tihomir')}
   .both('hasA'){as: task}.both('hasA'){as: tag}
RETURN user:{*, tasks:{*, tags:{*}}}

这里的完整文档: https://orientdb.com/docs/3.0.x/sql/SQL-Projections.html#nested-projections

答案 1 :(得分:0)

@thinklinux你需要3.0版或更高版本(不适合制作)才能像Luigi Dell'Aquila那样做。