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查询条件的常用设置相关推荐

  1. java mongodb 模糊查询_Java操作MongoDB插入数据进行模糊查询与in查询功能的方法

    Java操作MongoDB插入数据进行模糊查询与in查询功能 由于需要用MongoDB缓存数据,所以自己写了一套公共的存放和读取方法 具体如下: 存放mongodb: /** * 公共方法:设置Obj ...

  2. mongodb java查询_java操作mongoDB查询的实例详解

    java操作mongo查询的实例详解 前言: MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案. MongoDB是一个介于关系数据库 ...

  3. java mongodb排序查询_java操作mongodb基础(查询 排序 输出list)

    代码如下: package com.infomorrow.webroot; import java.util.List; import com.mongodb.BasicDBObject; impor ...

  4. java poi word 图表_Java操作Poi--word图表中颜色的设置

    在做java 动态增删图表中,如果将原来的标签数据删除了,在新增标签数据,发现颜色没设置,然后找不到对应的方法. 将word模板另外存word.xml格式,你会发现word模板其实是一大堆标签,你操作 ...

  5. java excel 字体大小_java操作Excel的poi的字体设置

    package com.java.poi; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.us ...

  6. mongorepository查询条件_Java操作MongoDB采用MongoRepository仓库进行条件查询 | 学步园...

    1.实体类: publicclassPersonimplementsSerializable{ /** * */ private static final long serialVersionUID  ...

  7. java操作mongodb查询总数_java操作mongodb——查询数据

    field为查询字段,value为查询值,也可以通过过滤器Filters,Filters提供了一系列查询条件的静态方法 相等 - = FindIterable iter = doc.find(new ...

  8. php mongo分页查询,PHP操作Mongodb之高级查询篇

    标签: 1.查询时的排序 在关系型数据库的查询中,往往会用到排序.例如时间倒序,点击率升序啦等等.在Mongodb的查询中,也有排序功能的. 语法格式: $db->find()->sort ...

  9. java mongodb 增删改查_java操作mongodb:基本的增删改查

    java操作mongodb的代码,包含基本的增删改查操作 获取数据库连接工具类 package com.liuc.db;import java.net.UnknownHostException;imp ...

最新文章

  1. Oracle中的数据类型和数据类型之间的转换
  2. 网页视频播放开发总结
  3. Navisworks Api Tool
  4. [Jobdu] 题目1500:出操队形
  5. 工作86:防抖和节流的问题
  6. js文章QQ空间分享
  7. 调用百度“搜索建议(BaiduSuggestion)”的 API
  8. 复制高亮代码到印象笔记
  9. python实现携程网站爬取
  10. 大学的第一堂必修课:军训
  11. 深入探访支付宝双11十年路,技术凿穿焦虑与想象极限 | CYZONE特写
  12. 2021-06-25
  13. 【扫盲】硬盘接口『 SATA 、 mSATA 、 m.2 ( NGFF )、PCI-E ( PICe 、 PCI Express ) 』及其协议 『 NVMe 、 AHCI 』
  14. 隐私计算岗高薪酬冲上热搜!高居十大数字技术薪酬榜首!成2022求职最HOT职位
  15. 第1章 数据库应用系统开发方法
  16. 多态的概念,特点和优缺点
  17. java mail 554_javaMail 163 邮箱发 qq 邮箱 总是报 554 DT:SPM 163 smtp11
  18. win10版本查看_不知道电脑上安装的win10版本,这样操作可以轻松查看
  19. 【python】yolov5的torch与torchvision环境问题
  20. 一些计算机视觉企业方面的网站

热门文章

  1. JS中获取当前url及参数
  2. 转:【0811】LM4229(LCD240128)画矩形+反白显示
  3. 四个高逼格技术简历制作技巧啦~
  4. 从码农以及星际爱好者视角看AlphaStar完胜人类职业玩家
  5. win10 彻底删除mysql步骤
  6. Linux下makefile教程
  7. python qq空间登录_模拟登录QQ空间
  8. JavaScript前端实现九九乘法表
  9. 绝对引用计算机,计算机中绝对引用-excel中的绝对引用有什么用?请解释得通俗一点...
  10. 使用 Apache PDFBox 操作PDF文件