当前位置: 首页 > news >正文

Java中使用MongoTemplate 简单操作MongoDB

@Autowired
private MongoTemplate mongoTemplate;
 

User:封装的对象

插入:mongoTemplate.insert(user);

根据id查询:mongoTemplate.findById(id, User.class);

查询所有:mongoTemplate.findAll(User.class);

条件查询:

Query query = new Query(Criteria.where("name").is("迪丽热巴").and("age").is(25));List<User> userList = mongoTemplate.find(query, User.class);


模糊查询:

 String name = "李";String regex = String.format("%s%s%s","^.*" , name , ".$");// 定义正则表达式 Pattern.CASE_INSENSITIVE 忽略大小写Pattern pattern = Pattern.compile(regex , Pattern.CASE_INSENSITIVE);Query query = new Query(Criteria.where("name").regex(pattern));List<User> userList = mongoTemplate.find(query, User.class);

分页查询:

  Integer pageNum = 1;Integer pageSize = 3;
// skip跳过多少个,limit 需要查询多少List<User> userList = mongoTemplate.find(query.skip((pageNum - 1) * pageSize).limit(pageSize), User.class);

修改:

@Test
void update() {User user = mongoTemplate.findById("456189465144321854", User.class);user.setName("张三");user.setAge(21);// whereQuery query = new Query(Criteria.where("_id").is("456189465144321854"));// 修改信息Update update = new Update().set("name",user.getName()).set("age",user.getAge());UpdateResult updateResult = mongoTemplate.upsert(query, update, User.class);System.out.println(updateResult.getModifiedCount());
}

删除:

@Test
void delete() {Query query = new Query(Criteria.where("name").is("张三"));DeleteResult deleteResult = mongoTemplate.remove(query, User.class);System.out.println(deleteResult.getDeletedCount());
}

http://www.lryc.cn/news/135327.html

相关文章:

  • [Mac软件]Pixelmator Pro 3.3.12 专业图像编辑中文版
  • 吴恩达 GPT Prompting 课程
  • gpt3.5写MATLAB代码剪辑视频,使之保留画面ROI区域
  • 设计模式二十一:状态模式(State Pattern)
  • 【校招VIP】产品思维能力之产品设计
  • 微信小程序卡片横向滚动竖图
  • SpringBoot项目(支付宝整合)——springboot整合支付宝沙箱支付 从极简实现到IOC改进
  • 【AIGC】一款离线版的AI智能换脸工具V2.0分享(支持图片、视频、直播)
  • 管理类联考——逻辑——真题篇——按知识分类——汇总篇——一、形式逻辑——选言——相容选言——或
  • Git如何操作本地分支仓库?
  • WPS右键新建没有docx pptx xlsx 修复
  • 【巧学C++之西游篇】No.2 --- C++闹天宫,带着“重载“和“引用“
  • 【HarmonyOS】实现将pcm音频文件进行编码并写入文件(API6 Java)
  • KaiwuDB CTO 魏可伟:回归用户本位,打造“小而全”的数据库
  • 行业追踪,2023-08-22
  • 浏览器安装selenium驱动,以Microsoft Edge安装驱动为例
  • 边缘计算网关是如何提高物联网的效率的?
  • AWVS安装~Windows~激活
  • ATFX汇市:杰克逊霍尔年会降至,鲍威尔或再发鹰派言论
  • Zipkin开源的分布式链路追踪系统
  • java 项目运行时,后端控制台出现空指针异常---java.lang.NullPointerException
  • 模型数据处理-数据放入 session和@ModelAttribute 实现 prepare 方法详细讲解
  • 关于android studio 几个简单的问题说明
  • angular常用命令
  • uni-app打包后安卓不显示地图及相关操作详解
  • elelementui组件
  • 什么是安全测试报告,怎么获得软件安全检测报告?
  • JS中的Ajax
  • ImportError: cannot import name ‘SQLDatabaseChain‘ from ‘langchain‘解决方案
  • npm、yarn和pnpm