Mongodb模糊,or,and查询和日期查询


mongodb命令:

模糊:

db.getCollection('cabinTermRecord').find({"personnelName" : /能/}).pretty()

 

正则模糊,or

db.getCollection('cabinTermRecord').find({"$or" : [ { "personnelName" : { "$regex" : ".*0.*"}} , { "termMac" : { "$regex" : "^能.*$"}}]}).pretty()

正则模糊,or, and,日期查询

db.getCollection('cabinTermRecord').find({ "$and" : [ { "$or" : [ { "personnelName" : { "$regex" : ".*能.*"}} , { "termMac" : { "$regex" : ".*能.*"}}]} , { "departureTime" : { "$gte" : 1634692496461 , "$lt" : 1634693096108}}]}).pretty()

 

java代码

//1.正则模糊查询   
Criteria criteria1 = new Criteria();
criteria1=criteria1.orOperator(Criteria.where("personnelName").regex(".*" + query.get("content") + ".*"),
                    Criteria.where("termMac").regex(".*" + query.get("content") + ".*"));
//Criteria.where("termMac").regex(".*bbc.*"));

//2.日期
Criteria criteria2= new Criteria();
criteria2= Criteria.where("departureTime").
is(BasicDBObjectBuilder.start("$gte", gteNum).
add("$lt", ltNum).get());

//3.and
Query dbQuery=new Query();
Criteria criteria = new Criteria();
criteria.andOperator(criteria1,criteria2);
dbQuery.addCriteria(criteria);

//4.or
Criteria criteria1 = new Criteria();
criteria1=criteria1.orOperator(Criteria.where("personnelName").regex(".*" + query.get("content") + ".*"),
                    Criteria.where("termMac").regex(".*" + query.get("content") + ".*"));
//criteria1.orOperator(criteria1,criteria2);

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM