2013-07-26 20 views
8

Chcę wiedzieć, jak napisać zapytanie Morphia MongoDB z „lub” operator
Napisałem zapytanie MongoDB tak i ta praca dobrzeMorphia zapytanie z lub operator

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

ale mam mylić gdy próbuję napisać to w morfiny, następujące zapytanie jest źle, ale jak można napisać coś podobnego do tego

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

Dzięki

Odpowiedz

21

nie wiem, dlaczego hasAnyO f() jest tam, ale spróbuj tego:

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