2011-11-15 89 views
2

我正在使用Mongo和Spring Data。導出的查詢不適用於DBRef

我有兩個(第一類)實體(@Documents)Entity1和Entity2,其中Entity1在其中包含Entity2的引用(@DBRef)。一切工作正常,但執行派生查詢,如:

public List<Entity1> findByEntity2Property1(String property1) 

上述查詢返回沒有結果,雖然有文檔與給定的查詢參數。這是爲什麼?

+0

嗨,你能找到解決辦法嗎?謝謝。 – shailesh

回答

0

我不認爲查詢可以像你期望的那樣工作,因爲MongoDB幾乎不允許限制通過DBRef指向的相關文檔屬性的結果。因此,您必須查詢與屬性Property1上的給定值匹配的所有Entity2實例,然後查詢與匹配DBRef ed屬性的Entity1實例與第一個查詢的結果。

+0

謝謝!這是唯一的(和推薦的)出路嗎?還是有(可能更好)替代? – Saket

+0

另外,'然後查詢與第一個查詢的結果匹配的DBRefed屬性的實體1實例 - 你如何做到這一點? – Saket

+0

@Saket你有沒有找到解決方案? – s1moner3d

相關問題