2013-07-26 39 views
8

知道怎麼寫了嗎啡的MongoDB查詢「或」運營商
我寫的MongoDB這樣的查詢,這做工精細嗎啡查詢使用或操作

db.Inv.find({$or:[{sug_id:2},{grp_id:2}]}) 

但我弄糊塗了,當我嘗試在嗎啡寫這篇文章,下面的查詢是錯誤的,但怎麼能寫類似這樣

List<Inv> invs = ds.find(Inv.class).field("grp_id").hasAnyOf(grpId).or(field("sug_id")).hasAnyOf(grpId).asList(); 

感謝東西

回答

21

不知道爲什麼hasAnyO f()在那裏,但試試這個:

Query<Inv> query = ds.find(Inv.class);    
query.or(
    query.criteria("grp_id").equal(2), 
    query.criteria("sug_id").equal(2)); 
List<Inv> invs = query.asList();