使用或运算符进行Morphia查询

时间:2013-07-26 05:58:19

标签: java mongodb morphia

我想知道如何使用'或'运算符来编写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();  

由于

1 个答案:

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