数据库

 首页 > 数据库 > MongoDB > Java 操作MongoDB查询的一般使用方法

Java 操作MongoDB查询的一般使用方法

分享到:
【字体:
导读:
         摘要:java操作mongodb进行查询,常用筛选条件的设置如下:条件列表:BasicDBListcondListnewBasicDBList();临时条件对象:BasicDBObjectcondnull;DBCollectioncolldb.getCollection(A);1、$where在某种应用场合,若要集合A查询文...

Java 操作MongoDB查询的一般使用方法

java操作mongodb进行查询,常用筛选条件的设置如下:

条件列表:
BasicDBList condList = new BasicDBList();
临时条件对象:
BasicDBObject cond = null;
DBCollection coll = db.getCollection("A");

1、$where
在某种应用场合,若要集合A查询文档且要满足文档中某些属性运算结果,可以编写一脚本函数用where进行设置,比如:
某集合中存放的用户信息,包括姓名、年龄、手机号、地址等,要筛选出年龄大于20且小于等于40的用户,我们可以这样:
String ageStr = "function (){return parseFloat(this.age) > 20 && parseFloat(this.age) <= 40};";
cond = new BasicDBObject();
cond.put("$where",ageStr);

放入条件列表
condList.add(cond);

2、$in
接1实例中,要查询年龄为23、40、50的用户信息,我们可以这样:
创建一个临时的条件列表对象,将条件值分别添加进去
BasicDBList values = new BasicDBList();
values.add(23);
values.add(40);
values.add(50);

cond = new BasicDBObject();
cond.put("age",new BasicDBObject("$in",values));

放入条件列表
condList.add(cond);

3、模糊匹配
接1实例中,要按照用户的姓名进行模糊查询,如:王,我们可以这样做:

使用不区分大小写的模糊查询
3.1完全匹配
Pattern pattern = Pattern.compile("^王$", Pattern.CASE_INSENSITIVE);
3.2右匹配
Pattern pattern = Pattern.compile("^.*王$", Pattern.CASE_INSENSITIVE);
3.3左匹配
Pattern pattern = Pattern.compile("^王.*$", Pattern.CASE_INSENSITIVE);
3.4模糊匹配
Pattern pattern = Pattern.compile("^.*王.*$", Pattern.CASE_INSENSITIVE);

cond = new BasicDBObject();
cond.put("name",cond);

放入条件列表
condList.add(cond);

4、$gte/$lte/$gt/$lt
接1实例中,要筛选出年龄大于20且小于等于40的用户,我们可以这样:
cond = new BasicDBObject();
cond.append("age",new BasicDBObject("$gt",20));
cond.append("age",new BasicDBObject("$lte",40));

放入条件列表
condList.add(cond);

在日常的查询中筛选的条件可能会有多个,而且多个条件之间都是且的关系,结合上例1、2、3、4中
将每种条件添加到条件列表中,我可以这样:
BasicDBObject searchCond = new BasicDBObject();
searchCond.put("$and", condList);

然后查询数据:
DBCursor ret = coll.find(searchCond);

以上为常用的筛选条件的设置方法,其他的后续在更新。

Java 操作MongoDB查询的一般使用方法
分享到:
Java操作MongoDB数据库之增删改查(CRUD)
Java操作MongoDB数据库之增删改查(CRUD) 1,下载驱动https://github.com/mongodb/mongo-java-driver/downloads,导入工程java中 2,建立测试代码 import java.net.UnknownHostException; import java.util.Set; import com.mongodb.BasicDBObject; import com.mongodb.DB; import com.mongodb.DBCollection; import...
在RASPberry Pi树莓派上安装配置MongoDB...
在RASPberry Pi树莓派上安装配置MongoDB数据库 Raspberry PI的安装配置过程 【略】 Nginx、PHP和MongoDB的安装过程 【略】 安装PHP的MongoDB驱动 指引来自这里(驱动安装)和这里(phpize找不到)。 运行以下指令以安装PHP开发环境和PEAR: sudo apt-get install php5-dev sudo apt-get install ...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……