2013-07-26 8 views
8

Ich möchte wissen, wie man eine Morphia mongodb Abfrage mit ‚oder‘ Operator
schreiben Ich schrieb mongodb Abfrage wie folgt und diese Arbeit feineMorphia Abfrage mit oder Betreiber

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

Aber ich habe verwirrt, wenn ich versuche, zu schreiben, diese in Morphium, ist folgende Abfrage falsch, aber wie kann

Antwort

21

nicht sicher, warum hasAnyO etwas ähnliches zu diesem

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

Dank schreiben f() ist dort aber versuchen Sie dies:

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