首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jongo如何连接集合

Jongo如何连接集合
EN

Stack Overflow用户
提问于 2013-07-09 21:35:59
回答 1查看 776关注 0票数 0
代码语言:javascript
复制
public Class Team{
   @Id
   String id;
   String name = "";
}

public Class Player{
  @Id
  String id;
  String team_id = "";
  String name = "";
}

我应该如何在MongoDB上执行“查找”,以获得与球员相关联的球队?我使用的是以下内容:

代码语言:javascript
复制
Iterator<Player> plist = Player.findAllIter();
while (plist.hasNext()) {
  Player p = plist.next();
  Team t = p.getTeam();
}

在类播放器中,我有:

代码语言:javascript
复制
public static Iterator<Player> findAllIter() {
  return players().find().as(Player.class).iterator();
}

public Team getTeam() {
  Team t = Team.findById(this.team_id);
  return t == null ? new Team() : t;
}

这是正确的吗?有没有更好的解决方案?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-09 21:52:13

由于MongoDB是一个文档数据库,因此您可以在文档中存储关系,也可以手动解析它们。

请参阅MongoDB References

MongoDB不支持联接。在MongoDB中,一些数据被反规范化,或者与文档中的相关数据一起存储,以消除连接的需要。但是,在某些情况下,将相关信息存储在单独的文档中是有意义的,通常存储在不同的集合或数据库中。

该网站还指出,您有两个选择:

References

  • DBRefs

  1. 手册

我自己通常会手动解决引用问题,从来没有遇到过任何问题。你是否可以使用DBRefs取决于你的DB驱动程序,所以我建议你坚持使用手册。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17549621

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档