相关文章推荐
睿智的墨镜  ·  java 使用mongoTemplate ...·  3 月前    · 
重感情的墨镜  ·  Spring Data ...·  3 月前    · 
强健的熊猫  ·  MongoDB--Spring Data ...·  6 月前    · 
果断的甘蔗  ·  Input Stream Member ...·  1 月前    · 
傲视众生的开水瓶  ·  cv2.imdecode rgb or ...·  1 年前    · 
爱旅游的感冒药  ·  not found cptable in ...·  1 年前    · 
* //插入数据 * db.test_user.insert({"_id":2,"name":"神里","age":21,"birthday":"2000-07-07"}) * @param user public void insert (User user) { template.insert(user, "test_user" ); * //修改一条数据 * db.test_user.updateOne({"_id":"2"}, {$set:{"name":"神里"}}) * @param user public void update (User user) { Query query = new Query (); //查询条件 相当于 mysql where query.addCriteria(Criteria.where( "_id" ).is(user.getId())); //更新key-value值 Update update = new Update (); update.set( "name" ,user.getName()); //更新一条记录 mongoTemplate.updateFirst(query,update,User.class, "test_user" ); * //删除一天数据 * db.test_user.remove({"_id":"3"}); * @param user public void delete (User user) { Query query = new Query (); query.addCriteria(Criteria.where( "_id" ).is(user.getId())); mongoTemplate.remove(query, "test_user" ); * //查询数据 * db.test_user.find({"_id":"1"}) * @param user * @return public List<User> select (User user) { Query query = new Query (); query.addCriteria(Criteria.where( "_id" ).is(user.getId())); return mongoTemplate.find(query, User.class, "test_user" );
    Query query = new Query();
    query.addCriteria(Criteria.where("_id").is(user.getId()));
    //db.test_user.find({},{"name":1})
    //查询出部分字段包含
    query.fields().include("name");
    //查询部分字段不包含
    query.fields().exclude("name");
    // 多条件查询
    Criteria criteria = new Criteria();
    // or条件 name="影" or age=21  
    //db.test_user.find({$or:[{"name":"影"},{"age":21}]})
    criteria.orOperator(Criteria.where("name").is("影"),Criteria.where("age").is(21));
    // and条件 name="影" and age=21 
    // db.test_user.find({$and:[{"name":"影"},{"age":21}]})
    criteria.andOperator(Criteria.where("name").is("影"),Criteria.where("age").is(21));
    query.addCriteria(criteria);
    // db.test_user.find().limit(1).skip(0).sort({"_id":1}) 1升序/-1降序 limit:分页数据大学,skip:当前分页页码
    //排序    spring boot最新该类构造器私有不能直接new
    Sort sort = Sort.by(Sort.Direction.DESC, "_id");
    //分页查询 不过分页类需要自己封装  spring boot最新该类构造器私有不能直接new
    Pageable pageable = PageRequest.of(0,3,sort);
    query.with(pageable);
    //字符串日期范围查询 查询或比较 gte/lte 大于/小于
    // db.test_user.find({"birthday":{$gte:"2000-01-01",$lte:"2022-09-09"}})
    query.addCriteria(Criteria.where("birthday").gte("2000-01-01").lte("2022-09-09"));
    //like之类后续自己看api   

分页查询条件

    //SQL 查询出_id,fullName,carNo,healthDate 按某一字段降序
    db.project.find({},{"_id":1,"healthNo":1,"fullName":1,"cardNo":1,"healthDate":1}).sort({"healthDate":-1}).limit(10) 
     * 获取体检报告列表
     * @param current
     * @param pageSize
     * @return
    public MongoPageResult getlist(Integer current,Integer pageSize,Long tenantId){
        Sort sort = new Sort(Sort.Direction.DESC,"healthDate");
        Query query = new Query();
        query.fields().include("_id"); //包含该字段
        query.fields().include("healthNo"); //包含该字段
        query.fields().include("fullName"); //包含该字段
        query.fields().include("cardNo"); //包含该字段
        query.fields().include("healthDate"); //包含该字段
        query.with(sort);
        query.addCriteria(Criteria.where("tenantId").is(tenantId));
        //分页条件
        Pageable pageable = new PageRequest(current,pageSize);
        query.with(pageable);
        // 查询记录总数
        long totalCount = template.count(query, "project");
        List<Project> project = template.find(query, Project.class, "project");
        // 计算总页数
        long totalPage = totalCount % pageSize == 0 ? totalCount / pageSize : totalCount / pageSize + 1;
        return new MongoPageResult(totalCount,current,pageSize,totalPage,project);
复制代码
  • 私信
  •