1.upsert
Query query = new Query();
// 添加查询条件 学生表中id = studentId
query.addCriteria(Criteria.where("id").is(studentId));
//学生成绩更新语句
Update update = Update.update("grade",student.getGrade);
update.set("updateTime",now Date())
//根据查询条件,更新学生表studentInfo中对应的学生成绩
mongoTemplate.upsert(query,update,"studentInfo");
-- 注:upsert是如果查询条件存在就更新,不存在就插入
2.insert
插入对象
Student student = new Student("2023001","王辉",79);
mongoTemplate.insert(student,"studentInfo");
//插入list集合
List<Student> students = new ArrayList<>();
students.add(student);
mongoTemplate.insert(students,"studentInfo");
以上两种都是只要确定对象类型插入,之后的插入都必须是Student 类型
-- mongoTemplate也可以插入JSON格式数据,即可变内容数据
3.find
String queryByName = "{name:'"+studentName+"'}";
String queryByNameLike = "{name:/王/}"; //查询name中包含王的学生
// 查询成绩大于60的学生
String queryByGrade = "{'grade':"+"{$gt:60}}";
Query query = new BasicQuery(queryByName);
Document document = mongoTemplate.findOne(queryByName,Document.class,"studentInfo");
Document document = mongoTemplate.findOne(queryByName,Document.class,"studentInfo");
// 去除重复id数据,查询到的document内包含_id及id两种属性,需要去除
document.remove("_id");
String json = document.toJson(JsonWriterSettings.builder().build());
Student student =JSON.parseObject(json,Student.class);
4.remove
Query query = new Query();
query.addCriteria(Criteria.where("name").is(studentName));
mongoTemplate.remove(query,"studentInfo");