论坛首页 Java企业应用论坛

mongodb中的$or 操作符用java代码来实现

浏览 2163 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-04-20  

在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中怎么用代码来实现????  谢谢~~

   发表时间:2011-04-20   最后修改:2011-04-20
happy90 写道

在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中怎么用代码来实现????  谢谢~~


试试~

BasicDBObject query = new BasicDBObject(); 
BasicDBObject or_query = new BasicDBObject(); 
or_query.append("name","kk"); 
or_query.append("age",30); 
query.append("$or", or_query);

 

0 请登录后投票
   发表时间:2011-04-20  

经过不断的寻找,我终于找到答案了,下面和大家一起分享:

 


  1. // x 大于 1002 或者 x 小于 204  
  2. BasicDBObject or1 = new BasicDBObject();  
  3. or1.put("x"new BasicDBObject("$gt"1002));  
  4.   
  5. BasicDBObject or2 = new BasicDBObject();  
  6. or2.put("x"new BasicDBObject("$lt"204));  
  7.               
  8. ArrayList<DBObject> list = new ArrayList<DBObject>();  
  9. list.add(or1);  
  10. list.add(or2);  
  11. query.put("$or",list);  
  12.   
  13. //另外一个对y的查询过滤  y > 63  
  14. query.put("y"new BasicDBObject("$gt",63));  

 以上的mongoDB语法对应到sql就是

Sql代码  收藏代码
  1. where (x > 1002 or x < 204) and y > 63  


 

0 请登录后投票
   发表时间:2011-04-20  
List里丢几个BasicDBObject 与一个 BasicDBObject 里丢几个BasicDBObject

没有任何区别
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics