1因为最近项目中需要使用mongodb开发 所以花了一个星期总结了一些方法
2.首先本地安装mongodb 使用 robo3t-1.3.1-windows-x86_64-7419c406作为可视化工具
3.mongodb需要引用 MongoTemplate
4.直接上代码 增删改查
查询:
//查询全部
List<GradeDepart> gradeDepartList = mongoTemplate.findAll(GradeDepart.class);
//按条件查询
Query query=new Query();
query.addCriteria(Criteria.where("_id").is(id));
query.addCriteria(Criteria.where("kCourseSystemId").is(kCourseSystemId));
List<Course> courseList=mongoTemplate.find(query, Course.class);
//其中需要注意的坑就是查询主键的时候需要带上"_" 其他字段只要与集合保持一致即可
//模糊查询 此处是一个完全模糊查询
Pattern pattern=Pattern.compile("^.*"+kGradeDepartmentName+".*$",
Pattern.CASE_INSENSITIVE);
query.addCriteria(Criteria.where("kGradeDepartment").regex(pattern));
List<CourseSystem> systemList=mongoTemplate.find(query, CourseSystem.class);
删除:
//批量删除
mongoTemplate.remove(new Query(Criteria.where("_id").in(ids)), Course.class);
//删除
mongoTemplate.remove(new Query(Criteria.where("_id").is(id)), Course.class);
新增和修改
mongoTemplate.save(course);
//course为Course的对象 此处注意 如果对象有id则为修改 无id则为新增
//修改部分字段
Query query=new Query();
query.addCriteria(Criteria.where("_id").is(subjectId));
Update update =new Update();
update.set("name", subjectName);
mongoTemplate.upsert(query, update, Subject.class);
批量新增则自己写了一个api
interface CourseRepository extends BaseMongoRepository<Course, String>
BaseMongoRepositoryFactoryBean