MongoDB查询条件常用设置
原文地址:http://blog.csdn.net/mcpang/article/details/8731065
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);
还有其他的操作符如$or等等。
MongoDB查询条件常用设置的更多相关文章
- [转]mongodb 查询条件:关系运算符"$lt", "$lte", "$gt", "$gte", "$ne" 逻辑运算符"$and“, "$or“, "$nor“
mongodb 查询条件 这节来说说mongodb条件操作符,"$lt", "$lte", "$gt", "$gte" ...
- java 操作mongodb查询条件的常用设置
java操作mongodb进行查询,常用筛选条件的设置如下: 条件列表:BasicDBList condList = new BasicDBList(); 临时条件对象:BasicDBObject c ...
- 深入理解mongodb查询条件语句
阅读目录 1. 理解:"$lt"."$lte"."$gt" 和 "$gte" 2. 理解 '$ne' 3. 理解 &qu ...
- mongodb 查询条件
这节来说说mongodb条件操作符,"$lt", "$lte", "$gt", "$gte", "$ne&qu ...
- MongoDB查询分析
MongoDB 查询分析可以确保我们建立的索引是否有效,是查询语句性能分析的重要工具.MongoDB 查询分析常用函数有:explain() 和 hint(). 1. explain(): 提供查询信 ...
- MongoDB 查询分析
MongoDB 查询分析可以确保我们建议的索引是否有效,是查询语句性能分析的重要工具. MongoDB 查询分析常用函数有:explain() 和 hint(). 使用 explain() expla ...
- mongodb 对内嵌文档(数组) group分页查询,并设置查询条件
文档示例Account的其中一条记录: // collection: Account { "_id" : ObjectId("5843e38e535f3708f759b2 ...
- mongodb多条件分页查询的三种方法(转)
一.使用limit和skip进行分页查询 public List<User> pageList(int pageNum ,int pageSize){ List<User> u ...
- Atitit.列表页面and条件查询的实现最佳实践(1)------设置查询条件and提交查询and返回json数据
Atitit.列表页面and条件查询的实现最佳实践(1)------设置查询条件and提交查询and返回json数据 1. 1. 配置条件字段@Conditional 1 1 2. 2. 配置条件字段 ...
随机推荐
- javascript与mongodb的日期时区问题
默认情况下,js的日期生成是当地时区,但默认显示是按照GMT显示的: > var c = new Date('2017-10-31 06:00:00'); > c 2017-10-30T2 ...
- springBoot Ribbon Hystrix Dashboard
1.引入依赖 <!-- 引入关于 hystrix Dashboard的依赖 --> <dependency> <groupId>org.springframewor ...
- Guava源码学习(二)Ordering
基于版本:Guava 22.0 Wiki:Ordering 0. Ordering简介 Guava的Ordering提供了链式风格的比较器的实现,我们可以用Ordering轻松构建复杂的比较器. 1. ...
- XML签名
英文:https://www.javacodegeeks.com/2013/10/xml-security-with-digital-signature-in-java.html 中文:http:// ...
- [BZOJ 1800] 飞行棋
Link: BZOJ 1800 传送门 Solution: $O(n^4)$…… Code: #include <bits/stdc++.h> using namespace std; ] ...
- 集合框架(Collection和Collections的区别)
1.Collection: java.util.Collection 是一个集合接口. 它提供了对集合对象进行基本操作的通用接口方法.Collection接口在Java 类库中有很多具体的实现.Col ...
- ANDROID模拟器访问本地WEB应用10.0.2.2
在一般的Java Web程序开发中,我们通常使用localhost或者127.0.0.1来访问本机的Web服务,但是如果我们在Android模拟器中也采用同样的地址来访问,Android模拟器将无法正 ...
- 当ASP.NET Forms验证方式遭遇苹果IOS
一.问题出现 我在用ASP.NET MVC4做微信开发的时候,用Forms验证方式做为authentication. 一般都是在web.config加: <authentication mode ...
- js常用函数和常用技巧
学习和工作的过程中总结的干货,包括常用函数.常用js技巧.常用正则表达式.git笔记等.为刚接触前端的童鞋们提供一个简单的查询的途径,也以此来缅怀我的前端学习之路. PS:此文档,我会持续更新. Aj ...
- 大白话5分钟带你走进人工智能-第二十节逻辑回归和Softmax多分类问题(5)
大白话5分钟带你走进人工智能-第二十节逻辑回归和Softmax多分类问题(5) 上一节中,我们讲 ...