如何在morphia中搜索引用字段的内容

时间:2014-12-24 22:58:44

标签: mongodb morphia

让我们说我有这样的课程:

public class Foo{
  @id
  ObjectID id;
  @Reference
  Bar bar;
  long fooValue;
}

public class Bar {
  @id
  ObjectID id;
  @Reference
  Baz baz;
  long barValue;
}

public class baz{
  @id
  ObjectID 
  String content;
}

如果我想加载引用的baz具有特定值的所有foo对象,我应该使用哪种语法?让我们看看我想要所有foo,其中引用的baz.content值是“foobar”我该怎么办?通过查找所有baz然后找到引用它的所有条形图等来向后工作会更快吗?

1 个答案:

答案 0 :(得分:0)

这对MongoDB不起作用。你要做的是一个JOIN,它不存在。

你能做的是:

  1. 查询Baz,为您提供Baz.ObjectId(每场比赛)。
  2. 查询引用Bar的{​​{1}},它会为您提供Baz.ObjectId
  3. 对引用Bar.ObjectId
  4. Foo执行相同操作

    因此,对于Bar.ObjectId中的每个匹配文档,您需要再提供两个查询才能获得Baz

    您可以将Foo嵌入BazBar嵌入Bar吗?那么你只需要一个查询。