2013-07-26 14 views
8

Voglio sapere come scrivere una query Morphia MongoDB con 'o' operatore
ho scritto interrogazione MongoDB come questo e questo lavoro beneinterrogazione Morphia con o operatore

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

Ma ho ottenuto confuso quando provo di scrivere questo in morfina, query seguente è sbagliato, ma come si può scrivere qualcosa di simile a questo

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

Grazie

risposta

21

non so perché hasAnyO f() è lì ma prova questo:

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();