2012-09-20 60 views
0

我一直在使用MongoDB和Spring數據構建基於Spring的REST服務 - MongoDB。高級彈簧數據查詢/ critera

見下文;部分我的數據模型:

@Document 
public class User{ 
    ..... 
    private List<EMail> emails; 
    ..... 
} 

public class EMail { 
    ..... 
    private bool defaultMail; 
    private String eMailAdress; 
    ..... 
} 

EMail未註釋爲MongoDb文檔。

我想在Repository中實現以下功能。

public Boolean exists(String email); 
public User getUserByEmail(String email); 

我可以使用Query和Criteria API實現簡單的查詢,但並未成功實現上述功能。

回答

0

我在自己的問題上找到了答案,我想分享。

查詢應該是這樣的:

query (where("emails").elemMatch(where("eMailAdress").is(email))) 

我通過閱讀MongoDB的手動,,,這原來是要比春天的數據手冊更易於理解找到了答案。

// lg