我想知道如何使用'或'运算符来编写Morphia mongodb查询 我写了像这样的mongodb查询,这很好用
db.Inv.find({$or:[{sug_id:2},{grp_id:2}]})
但是当我尝试在morphia中写这个时,我感到很困惑,以下查询是错误的,但是如何写出与此类似的东西
List<Inv> invs = ds.find(Inv.class).field("grp_id").hasAnyOf(grpId).or(field("sug_id")).hasAnyOf(grpId).asList();
由于
答案 0 :(得分:27)
不确定为什么hasAnyOf()在那里,但试试这个:
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();