use combined and 'and' or query in the mongo

1、 description:  use combined and and or query in the mongo

2、sql query statement:

       select * from deviceInfo  where devId='11010001'  and  (sndStatus=0 or sndCount >= 3);

3、match mongo sql query:

     db.getCollection("deviceInfo").find({ "devId" : '11010001', "$and" : [{ "$or" : [{ "sndStatus" : 0 }, { "sndCount" : { "$gte" : 3 } }] }] })

4、code example:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
/*
 * use combined and and or query in the mongo
 * match mongo sql query:
 *
  public void queryAndOrOperator() {
     Criteria criteria = Criteria.where("devId").is('11010001');
     Criteria orCriteria1 = Criteria.where("sndStatus").is(0);
     Criteria orCriteria2 = Criteria.where("sndCount").gte(3);
     Criteria orAllCriteria = new Criteria().orOperator(orCriteria1, orCriteria2);
     criteria.andOperator(orAllCriteria);
     Query query = Query.query(criteria);
     List<MongoDatabaseEntity> queryList = mongoTemplate.find(query, MongoDatabaseEntity.class);
     System.out.println(" query mongo list bases on condition,result is :" + JSON.toJSONString(queryList));
 }

  

 

posted @   东北大亨  阅读(3)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示