Spirngboot+Spring Data mongodb(三) 修改操作_RunTimeExcepti0n的博客-CSDN博客
原生JSON查询public void query1(){
BasicQuery query = new BasicQuery("{ price : { $gt : 100 }, 'productInfos.price' : { $gt : 300 }}");
List result = mongoTemplate.find(query, BillDetail.class);
System.out.println(result);
}
Criteria 简单查询
public void query2(){
Criteria price = Criteria.where("price").gt(100).and("productInfos.price").gt(300);
Query query = Query.query(price);
List result = mongoTemplate.find(query, BillDetail.class);
System.out.println(result);
}
matching匹配
public void query3(){
List result = mongoTemplate.query(BillDetail.class).matching(Criteria.where("price").gt(100).and("productInfos.price").gt(300)).all();
System.out.println(result);
}
fields() $project投影
返回指定字段,如果不显式excluede(id) 默认返回是包含id的
public void query4(){
Criteria price = Criteria.where("price").gt(100);
Query query = Query.query(price);
query.fields().include("username");
query.fields().exclude("id");
BillDetail one = mongoTemplate.findOne(query, BillDetail.class);
System.out.println(one);
}
distinct查询
public void query5(){
List county = mongoTemplate.query(BillDetail.class).distinct("county").as(String.class).all();
System.out.println(county);
}
andOperator 连接Criteria
public void query6(){
Criteria criteria = Criteria.where("price").gt(100);
Criteria criteria1 = Criteria.where("county").is("福田区");
Criteria criteria2 = criteria.andOperator(criteria1);
Query query = Query.query(criteria2);
List details = mongoTemplate.find(query, BillDetail.class);
System.out.println(details);
}
elemMatch $elemMatch详解
public void query8(){
Criteria criteria1 = Criteria.where("productInfos");
Criteria criteria2 = Criteria.where("name").is("百事可乐").and("price").is(300);
Criteria criteria = criteria1.elemMatch(criteria2);
Query query = Query.query(criteria);
List details = mongoTemplate.find(query, BillDetail.class);
System.out.println(details);
}



