mongotemplate 简单使用
怎么说呢,工作需要,不可能给你慢慢学的时间,一切以先解决当前jira为前提, mondb 安装不说了网上一搜就有,推荐图形管理界面 robo3t 比较直观

1.多条件查询这个比较简单
有两种方法
1Criteria.where("company_code").is(corpCode).and("emp_id").in(empIdArray)这种写法
2Criteria criatira = new Criteria();
criatira.andOperator(Criteria.where("userName").is("admin"), Criteria.where("password").is("f818fa8cf51ca364f367f0046bd014ff"));Query query = Query.query(Criteria.where("company_code").is(corpCode).and("emp_id").in(empIdArray));
//删除department_code
Update updateDepartmentCode = new Update();
updateDepartmentCode.pullAll("department_code", deptArray.toArray());
mongoTemplate.updateMulti(query, updateDepartmentCode, Constants.MONGOBD_EMPLOYEE_COLLECTION_BEGIN + corpCode.toUpperCase());
//查询并删除department
Update updateDepartment = new Update();
List<JSONObject> deptList = esDepartmentService.checkAndFindDepartment(corpCode, deptArray);
updateDepartment.pullAll("department", deptList.toArray());
mongoTemplate.updateMulti(query, updateDepartment, Constants.MONGOBD_EMPLOYEE_COLLECTION_BEGIN + corpCode.toUpperCase());
3增加多条数据
Query query = Query.query(Criteria.where("company_code").is(corpCode).and("emp_id").in(empIdArray));
//删除department_code
Update updateDepartmentCode = new Update();
updateDepartmentCode.pullAll("department_code", deptArray.toArray());
mongoTemplate.updateMulti(query, updateDepartmentCode, Constants.MONGOBD_EMPLOYEE_COLLECTION_BEGIN + corpCode.toUpperCase());
//查询并删除department
Update updateDepartment = new Update();
List<JSONObject> deptList = esDepartmentService.checkAndFindDepartment(corpCode, deptArray);
updateDepartment.pullAll("department", deptList.toArray());
mongoTemplate.updateMulti(query, updateDepartment, Constants.MONGOBD_EMPLOYEE_COLLECTION_BEGIN + corpCode.toUpperCase());
4同一个update对象不能多次使用,后面的条件会覆盖掉前面的数据。
mongotemplate 简单使用的更多相关文章
- mongoTemplate简单用法(增删改查)
分页时查找数量: public long countSample(String id) { Query query = new Query(); if (StringUtil.hasText(id)) ...
- SpringBoot整合MongoDB JPA,测试MongoRepository与MongoTemplate用法,简单增删改查+高级聚合
源码 地址 -> https://github.com/TaoPanfeng/case/tree/master/04-mongo/springboot-mongo 一 引入依赖 <depe ...
- Spring-MongoDB简单操作
1.简单的配置 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http: ...
- 通过java反射实现简单的关于MongoDB的对象关系映射(ORM).
通过阅读MongoDB 3.2.1的官方文档中关于java 编程发现最新的文档并没有实现对对象到Document的映射,所以自己有了利用反射实现简单的关系映射. 1.定义抽象类:AbstractMo ...
- spring集成mongodb封装的简单的CRUD
1.什么是mongodb MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案. mongoDB MongoDB是一个介 ...
- mongoTemplate查询大数据过慢
先上两段代码 代码一 Query query = new Query();queryAfter.addCriteria(Criteria.where("id").in(idList ...
- Mongodb系列- spring-data-mongodb使用MongoTemplate实现分页查询
在用spring-data-mongodb框架开发的过程中,需要实现分页查询,就百度了下,没找到满意的又google了下,找到了思路. 在spring-data-mongodb 官方文档中,建议你使用 ...
- SpringBoot访问NoSQL和简单的Thymeleaf-Spring-Spring-boot整合
SpringBoot访问NoSQL SpringBoot访问Redis 在pom.xml添加boot-data-redis定义 <parent> <groupId>org.sp ...
- MongoDB 默认写入关注保存数据丢失问题与源码简单分析
MongoDB 默认写入关注可能保存数据丢失问题分析 问题描述: EDI服务进行优化,将原有MQ发送成功并且DB写入成功,两个条件都达成,响应接收订单数据成功,修改为只有有一个条件成功就响应接收数据成 ...
随机推荐
- Quartz.NET | 佳佳的博客
原文:Quartz.NET | 佳佳的博客 Quartz.NET 是一个定时计划任务的框架,支持 .NET Core. 本文示例代码大部分来自于官方教程:Quartz.NET - Quartz.NET ...
- 2019 湖湘杯 Reverse WP
0x01 arguement 下载链接:https://www.lanzous.com/i7atyhc 1.准备 获取到信息: 32位的文件 upx加密文件 在控制台打开文件 使用"upx ...
- 5.css3盒模型--margin/border/padding/content
1.css3盒模型: ①margin外边距: Margin-top,Margin-right,Margin-bottom,Margin-left ②Border边框: Border-width Bor ...
- Bootstrap前端框架快速入门专题
1.Bootstrap简介 Bootstrap,出自自 Twitter,是目前最受欢迎的前端框架. Bootstrap 是基于 HTML.CSS.JAVASCRIPT 的前端框架,它简洁灵活,使得 W ...
- 一、.net Core bundleconfig.json
一.bundleconfig.json [ { "outputFileName": "wwwroot/css/site.min.css", "inpu ...
- PAT Basic 1026 程序运行时间 (15 分)
要获得一个 C 语言程序的运行时间,常用的方法是调用头文件 time.h,其中提供了 clock() 函数,可以捕捉从程序开始运行到 clock() 被调用时所耗费的时间.这个时间单位是 clock ...
- 使用pycharm编写自动化脚本
1.:导入本地Python环境 2:安装Selenium 3:下来需要根据安装的浏览器版本,下载合适的chromedriver驱动程序. 4:接着需要将下载的chromedriver进行解压,并将文件 ...
- MyEclipse使用教程:使用Workbench和Perspectives
[MyEclipse CI 2019.4.0安装包下载] workbench指的是加载IDE时看到的内容,它通常包含一个perspective,这是相关视图和编辑器的布局.您可以根据正在进行开发的类型 ...
- 前端之JavaScript:JS之DOM对象三
js之DOM对象三 一.JS中for循环遍历测试 for循环遍历有两种 第一种:是有条件的那种,例如 for(var i = 0;i<ele.length;i++){} 第二种:for ...
- expect实现远程主机自动执行命令脚本
2014年第一个脚本,哈哈!!! expect实现远程主机自动执行命令脚本: #!/usr/bin/expect -- if { [llength $argv] < 4 } { puts &qu ...