11

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

谢谢

4

1 回答 1

29

不知道为什么 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();
于 2013-07-26T15:57:44.603 回答