您当前的位置: 首页 > 

cuiyaonan2000

暂无认证

  • 2浏览

    0关注

    248博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

MongoTemplate Tool

cuiyaonan2000 发布时间:2021-10-15 15:22:14 ,浏览量:2

序言

目前SpringBoot 整合 mongodb主要的方式就是使用MongoTemplate.

这里整理积累下MongoTemplate的玩法.

查询

查询永远是大头~~

根据字段查询
//类似于SQL 
Query query = new Query(Criteria.where("name").is("cuiyaonan2000@163.com"));
 
// 查询一条满足条件的数据
Map result = mongoTemplate.findOne(query, Map.class, COLLECTION_NAME);

System.out.println("query: " + query + " | specialFieldQueryOne: " + result);


// 满足所有条件的数据
List ans = mongoTemplate.find(query, Map.class, COLLECTION_NAME);

System.out.println("query: " + query + " | specialFieldQueryAll: " + ans);

And的使用
Query query = new Query(Criteria.where("name").is("cuiyoanan2000@163.com").and("age").is(18));

Map result = mongoTemplate.findOne(query, Map.class, COLLECTION_NAME);

System.out.println("query: " + query + " | andQuery: " + result);

Or的使用
//如下的查询条件,是必须要name为cuiyaonan2000@163.com的,且age=18 或者 sing必须存在的.
Query query = new Query(Criteria.where("name").is("cuiyoanan2000@163.com")
            .orOperator(Criteria.where("age").is(18), 
             Criteria.where("sign").exists(true)));

List result = mongoTemplate.find(query, Map.class, COLLECTION_NAME);

System.out.println("query: " + query + " | orQuery: " + result);



//如下标识age为18 或者sing必须存在的查询
 query = new Query(new Criteria().orOperator(Criteria.where("age").is(18), Criteria.where("sign").exists(true)));

In
Query query = new Query(Criteria.where("age").in(Arrays.asList(18, 20, 30)));
  
List result = mongoTemplate.find(query, Map.class, COLLECTION_NAME);

System.out.println("query: " + query + " | inQuery: " + result);

比较查询
  1. get:>=
  2.  gt:>
  3.  lt= 18 query = new Query(Criteria.where("age").gte(18)); result = mongoTemplate.find(query, Map.class, COLLECTION_NAME); System.out.println("query: " + query + " | compareBigQuery: " + result); // age < 20 Query query = new Query(Criteria.where("age").lt(20)); List result = mongoTemplate.find(query, Map.class, COLLECTION_NAME); System.out.println("query: " + query + " | compareSmallQuery: " + result); // age
关注
打赏
1638267374
查看更多评论
0.7162s