怎么说呢,工作需要,不可能给你慢慢学的时间,一切以先解决当前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"));
  推荐第一中简单明了
 
2,删除多条数据
  

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 简单使用的更多相关文章

  1. mongoTemplate简单用法(增删改查)

    分页时查找数量: public long countSample(String id) { Query query = new Query(); if (StringUtil.hasText(id)) ...

  2. SpringBoot整合MongoDB JPA,测试MongoRepository与MongoTemplate用法,简单增删改查+高级聚合

    源码 地址 -> https://github.com/TaoPanfeng/case/tree/master/04-mongo/springboot-mongo 一 引入依赖 <depe ...

  3. Spring-MongoDB简单操作

    1.简单的配置 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http: ...

  4. 通过java反射实现简单的关于MongoDB的对象关系映射(ORM).

    通过阅读MongoDB  3.2.1的官方文档中关于java 编程发现最新的文档并没有实现对对象到Document的映射,所以自己有了利用反射实现简单的关系映射. 1.定义抽象类:AbstractMo ...

  5. spring集成mongodb封装的简单的CRUD

    1.什么是mongodb         MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案. mongoDB MongoDB是一个介 ...

  6. mongoTemplate查询大数据过慢

    先上两段代码 代码一 Query query = new Query();queryAfter.addCriteria(Criteria.where("id").in(idList ...

  7. Mongodb系列- spring-data-mongodb使用MongoTemplate实现分页查询

    在用spring-data-mongodb框架开发的过程中,需要实现分页查询,就百度了下,没找到满意的又google了下,找到了思路. 在spring-data-mongodb 官方文档中,建议你使用 ...

  8. SpringBoot访问NoSQL和简单的Thymeleaf-Spring-Spring-boot整合

    SpringBoot访问NoSQL SpringBoot访问Redis 在pom.xml添加boot-data-redis定义 <parent> <groupId>org.sp ...

  9. MongoDB 默认写入关注保存数据丢失问题与源码简单分析

    MongoDB 默认写入关注可能保存数据丢失问题分析 问题描述: EDI服务进行优化,将原有MQ发送成功并且DB写入成功,两个条件都达成,响应接收订单数据成功,修改为只有有一个条件成功就响应接收数据成 ...

随机推荐

  1. HTML DOM中的comfirm()确认对话框

    前言 最近在开发中有一个需求大概就是说:表单点击提交按钮首先弹出确认对话框,然后点击确定请求接口,那么问题来了,我们如何确定点击的是确定还是取消呢? 定义和用法 定义 comfirm()确认对话框,用 ...

  2. 06-REST Framework - API

    # Django REST Framework# 1. REST- 前后端分离- API-ApplicationProgrammingInterface - 为了应付千变万化的前端需求- REST:R ...

  3. JavaScript回顾

    JavaScript是Web编程语言. JavaScript是一种基于对象的脚本语言 它是解释执行的 在客户端的浏览器中运行 可以被嵌入HTML文件中 代码以纯文本的形式存储在文件中 可以使用任何一种 ...

  4. Nginx中配置https中引用http的问题

    Nginx中配置https中引用http的问题 遇到问题: 今天公司要在后台增加直播入口,使用腾讯云的实时音视频,要求是必须使用https,在配置完强制跳转https候,发现后台无法上传图片,在浏览器 ...

  5. oracle 主键自增并获取自增id

    1 创建表 /*第一步:创建表格*/ create table t_user( id int primary key, --主键,自增长 username varchar(20), password ...

  6. 牛客练习赛33 D tokitsukaze and Inverse Number (树状数组求逆序对,结论)

    链接:https://ac.nowcoder.com/acm/contest/308/D 来源:牛客网 tokitsukaze and Inverse Number 时间限制:C/C++ 1秒,其他语 ...

  7. getopt:命令行选项、参数处理

    在写shell脚本时经常会用到命令行选项.参数处理方式,如: ./test.sh -f config.conf -v --prefix=/home -f 为短选项,它需要一个参数,即config.co ...

  8. MySQL---时区问题

    1.控制台输入select now();  发现与北京时间相差8小时: 2.解决: 2.1.进入MySQL客户端  mysql -uroot -p 2.2.全局,当前会话时区设置set GLOBAL ...

  9. MAN RPM

    RPM(8)   Red Hat Linux   RPM(8) NAME/名称       rpm - RPM Package Manager/RPM-RPM包管理器SYNOPSIS/简介  QUER ...

  10. Java 8 Date常用工具类

    原创转载请注明出处:https://www.cnblogs.com/agilestyle/p/11983108.html Demo package org.fool.util; import java ...