序言
目前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);
比较查询
get:>=
-
gt:>
-
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
关注打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?