使用GraphQL API时如何解决MongoDB文档与Spring Data的关系

问题描述

我正在运行以下技术:

  • 后端服务器提供GraphQL API
  • 一个MongoDB
  • Vue.JS前端在其中请求查询的地方。

我有一个简单的数据库结构( pseudo json ):

Character { 
  id: String,name: String
}

User {
  id: String,characterIds: List<String>
}

现在,我定义了两个GraphQL查询(以及一个对应的GraphQL解析器)。它返回一个用户一个字符。

示例( graphql ):

#query
{ 
  getUser(id: $id) {
    id
    characterIds
  }
}

# result
{
  id: 1234,characterIds: ['foo-123','bar-123']
}

这就像目前可以达到的最大结果。但是,我想拥有一个适当的“图形”用法。这意味着我想让characterIds中的user解析为引用的character条目/对象。

拥有一个sql数据库并不是什么大问题,因为这就是关系DBMS的工作方式。但是对于我的MongoDB,我需要以某种方式自己在后端解决它。

我的问题是是否有Spring Data注释驱动的方法来实现这一目标?

我想将结构更改为:

User {
  id: String,characters: List<Character>
}

调用类似userRepository.findById("123")之类的东西时,我很想收到user条目,但也已经解析了character引用。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)