2014-12-24 42 views
0

比方說,我有類是這樣的:如何在引用字段的內容搜索在嗎啡

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; 
} 

如果我想要加載在其中所引用的巴茲具有一定的價值是什麼語法都應該FOO對象我用?讓我們看看我想要的所有foo中引用的baz.content值是「foobar」我該怎麼做?通過查找所有baz,然後找到所有參考它的bar,可以更快地反向工作嗎?

回答

0

這對MongoDB不起作用。你試圖做的是一個JOIN,它不存在。

你可以做的是:

  1. 查詢Baz,它讓你一個Baz.ObjectId(每場比賽)。
  2. 查詢的Bar引用Baz.ObjectId,它讓你一個Bar.ObjectId
  3. 執行相同的Foo引用Bar.ObjectId

所以對於每個Baz匹配的文檔,你需要兩個查詢來獲得其Foo

您能否將Baz嵌入BarBar轉成Foo?那麼你只需要一個查詢。

相關問題