在mongodb中有$or 操作符的,官网中给出的例子如下:
Simple:
db.foo.find( { $or : [ { a : 1 } , { b : 2 } ] } )
With another field
db.foo.find( { name : "bob" , $or : [ { a : 1 } , { b : 2 } ] } )
The $or operator retrieves matches for each or clause individually and eliminates duplicates when returning results. A number of $or optimizations are planned for 1.8. See this thread for details.
$or cannot be nested. |
在java中怎么用代码来实现???? 请看下面~~
DBObject ref = new BasicDBObject();
BasicDBObject or1 = new BasicDBObject();
or1.put("id1", 1);
BasicDBObject or2 = new BasicDBObject();
or2.put("id1", 2);
BasicDBObject or3 = new BasicDBObject();
or3.put("id2", 1);
ArrayList<DBObject> list = new ArrayList<DBObject>();
list.add(or1);
list.add(or2);
list.add(or3);
BasicDBObject query = new BasicDBObject();
query.put("$or", list);
DBCursor res =coll.find(query);
System.out.println("res = "+res);
while(res.hasNext()){
DBObject dbo = res.next();
System.out.println("dbo = "+dbo);
}