mongodb-java常用语法-增删改查

1. 查找

@Autowired
MongoTemplate mongoTemplate;
// 具体语句
Query query = new Query(); // 添加查询条件 方法1 query.addCriteria(Criteria.where("funcName").is(funcName)); query.addCriteria(Criteria.where("userId").is(userId));
// 或者 方法2

query.addCriteria(Criteria.where("funcName").is(funcName) and("userId").is(userId));
// 倒排序 query = query.with(Sort.by(Sort.Order.desc("createTime"))); // 总数 long totalCount = mongoTemplate.count(query, Student.class); // 分页查询 query = query.limit(limit).skip((page - 1) * limit); List<Student> student = mongoTemplate.find(query, Student.class);

2. 插入

RecordModel recordModel = new RecordModel(null,"查询记录" ,"",new Date(new Timestamp(System.currentTimeMillis()).getTime()),"普通操作");
mongoTemplate.insert(recordModel);

3. 删除

 deleteRecord(id, StudentMhd.class);

 public  ResponseMessage deleteRecord(String id, Class<?> entityClass){
        log.info("deleteRecord:id={}", id);
        Query query = new Query();
        query.addCriteria(Criteria.where("_id").is(new ObjectId(id)));
        DeleteResult result = mongoTemplate.remove(query, entityClass);
        if(result != null){
            return ResponseMessage.successMessage("恭喜,删除记录成功~");
        }
        return ResponseMessage.failedMessage("删除记录失败");
    }

4. 更新

@Autowired
    MongoTemplate mongoTemplate;
    public ResponseMessage updateRecord(Student student) {
        if(studentMhd == null){
            return ResponseMessage.failedMessage("参数错误,请重新检查参数!");
        }
        Query query = new Query();
        query.addCriteria(Criteria.where("_id").is(new ObjectId(student.getId())));
        studentMhd.setCreateTime(new Date(new Timestamp(System.currentTimeMillis()).getTime()));
        Document doc = new Document();
        mongoTemplate.getConverter().write(studentMhd, doc);
        Update update = Update.fromDocument(doc);
        UpdateResult result = mongoTemplate.upsert(query, update, "student_table");
        if(result != null){
            return ResponseMessage.successMessage("恭喜,更新记录成功~","登录用户名:" +student.getLoginId() +", 用户:"+ student.getUserId()+ ", courseId:" + student.getCourseId());
        }
        return ResponseMessage.failedMessage("更新记录失败", "登录用户名:" +student.getLoginId() +", 用户:"+ student.getUserId()+ ", courseId:" + student.getCourseId());
    }

  

 

上一篇:MongoDB在SpringBoot中使用


下一篇:【MongoDB】使用MongoTemplate实现runCommand命令