美文网首页
MongoDB 增删改查

MongoDB 增删改查

作者: 通通小小通 | 来源:发表于2019-05-09 17:37 被阅读0次
  • 最近在使用MongDB来作为持久层数据库,简单记一下基本的增删改查

Github源码地址

基于SpringBoot开发
本地默认是没有密码直接配置数据库名字即可

spring:
  data:
    mongodb:
      uri: mongodb://127.0.0.1:27017/demo

以下代码的Criteria类是MongoDB的条件构造器,下面就不做太多陈述

  • 首先先注入MongoTemplate模板,里面有封装的增删改查方法
    @Autowired
    private MongoTemplate mongoTemplate;
  • 查询数据 (其实源码里写的还是比较清晰的,如果想查询其他信息可以去源码里找方法)
public Map<String, Object> getUserList() {
        Map<String, Object> modelMap = new HashMap<>();

        //shiro要查询的集合名称,User是映射实体对象
        List<User> userList = mongoTemplate.findAll(User.class, "shiro");
        modelMap.put("userList", userList);

        return modelMap;
    }
  • 根据Id查询或者某一个字段查询数据
 public Map<String, Object> getUserByName(String id) {
        Map<String, Object> modelMap = new HashMap<>();

        //where后面的id对应的是数据库的字段
        Query query = new Query(Criteria.where("id").is(id));

        //"user"要查询的集合名称,User是映射实体对象
        User user = mongoTemplate.findOne(query, User.class,"user");
        modelMap.put("user", user);

        return modelMap;
    }
  • 更新数据
  • 更新的话比较麻烦,首先先new一个uptate对象然后往里放入要修改的值
public Map<String, Object> updateFirst(User user) {
        Map<String, Object> modelMap = new HashMap<>();

        Query query = new Query(Criteria.where("id").is(user.getId()));
        Update update = new Update().set("name", user.getName()).set("age", user.getAge());

        //shiro要查询的集合名称,User是映射实体对象
        UpdateResult updateResult = mongoTemplate.updateFirst(query, update, User.class, "shiro");
        modelMap.put("updateResult", updateResult);
        return modelMap;
    }
  • 添加数据
public Map<String, Object> saveUser(User user) {
        Map<String, Object> modelMap = new HashMap<>();
        
        // "user"要查询的集合名称,User是映射实体对象
        mongoTemplate.save(user, "user");

        return modelMap;
    }

相关文章

网友评论

      本文标题:MongoDB 增删改查

      本文链接:https://www.haomeiwen.com/subject/utdgoqtx.html