一、问题描述:

  需要将工作界面上的一些已经离职的用户状态改为失效,并备注为离职

二、需要准备/拿到手的工具/条件/数据:

  1.已离职人员名单(excel格式)

  2.任意mongodb工具(笔者使用的是NoSQLBooster for Mongodb)

  3.连接好的mongodb数据库(有些网络/策略不同,直连无法成功的,可以尝试使用mongodb中的SSH,在笔者的连接工具/Connections/Edit/SSH中可以进行设置)

修改mongodb中列表中多个元素,遍历其中的元素,作为变量,执行mongodb的修改

  4.Notepad++ 软件

三、解决步骤:

  1.需要将execl格式的人员名单取出放入自己设定的列表中(如arr = [" ", " " ]):

    1.1.选取所需的列数据,复制后,粘贴到新建excel表格中;  # 特别注意:粘贴时,应选择第一个单元格,然后右击,在弹出的窗口中,选择‘选择性粘贴’,再选择‘转置'

    1.2.将排成一行的数据另存到桌面上,保存类型选择csv(逗号分隔),后续弹出的窗口一直选是(可能会说不兼容什么的,不管,关闭时弹出的窗口也选是)

    1.3.给csv文件中的数据添加单/双引号: 右键点击桌面上的csv文件,选择“edit with Notepad++"打开,

      ctrl+h -> 勾上正则 -> 查找逗号:, -> 替换成:",";

      ctrl+h -> 勾上正则 -> 查找行头:^ -> 替换成:";

      ctrl+h -> 勾上正则 -> 查找行尾:$ -> 替换成:";(第三步可能是多余的)

    1.4.复制处理完成后的数据,放入列表中,即:arr = ["zhangsan","lisi"]

  2.进入NoSQLBooster for Mongodb中,选择需要修改的数据所在的库和表,输入以下语句,即可更新人员状态:

    var arr = ["zhangsan","lisi"];
    for (var i=0; i<arr.length; i++){
        db.USER.update({"code": arr[i]}, {"$set": {"status" : "invalid", "memo" : "离职"}});  # USER、 "status"、"memo"为数据库对应的表名、人员状态、备注的字段名
    }

四、所用到的技巧/技术,以及参考链接:

  1.excel数据转为带双引号的数据: https://www.phpfans.net/ask/quiz1/92901015155.html

   2.mongdb的循环修改(笔者修改的不是一条语句中的多个相同值,而是多条语句中的一个值):https://www.jianshu.com/p/1f02dcba779c  

    # 若想修改的一条语句中的多个相同值,可参考https://blog.csdn.net/xc_zhou/article/details/80994787或https://blog.csdn.net/jsdxshi/article/details/72841283

mongodb使用_遍历列表中的元素,作为变量,循环修改mongodb中的字段的更多相关文章

  1. 如何正确遍历删除List中的元素(普通for循环、增强for循环、迭代器iterator、removeIf+方法引用)

    遍历删除List中符合条件的元素主要有以下几种方法: 普通for循环 增强for循环 foreach 迭代器iterator removeIf 和 方法引用 其中使用普通for循环容易造成遗漏元素的问 ...

  2. C语言合并两个集合(L,L1) 将L1中不在L中的元素插入到L线性表中

    void main(){ Sqlist L,L1; InitList(&L); InitList(&L1); ListInsert(&L, 1, 2); ListInsert( ...

  3. 随机获取一个集合(List, Set)中的元素,随机获取一个Map中的key或value

    利用Java提供的Random类.从List或Set中随机取出一个元素,从Map中随机获取一个key或value. 因为Set没有提供get(int index)方法,仅仅能先获取一个随机数后.利用一 ...

  4. js 数组 添加或删除 元素 splice 创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素 filter

    里面可以用 箭头函数 splice         删除 增加 数组 中元素 操作数组 filter 创建新数组  检查指定数组中符合条件的所有元素

  5. ThinkPHP第五天(提交类型判定常量IS_POST等,错误页面种类,Model实例化方式,模板中使用函数,foreach循环,模板中.语法配置)

    1.IS_GET.IS_POST.IS_PUT.IS_DELETE.IS_AJAX常量,方便快捷实现各个判断. 在Action类中还可以使用$this->isPost()等进行判断. 2.错误页 ...

  6. SystemUI中监听app启动,修改app中的状态栏背景色

    参考 http://www.2cto.com/kf/201206/137225.html 从Android4.4开始,app可以自定义status bar 背景. 对于一些第三方app定义的状态栏背景 ...

  7. asp.net后台cs中的JSON格式变量在前台Js中调用方法(前后台示例代码)

    //后台cs代码: using System; using System.Collections.Generic; using System.Linq; using System.Web; using ...

  8. asp.net后台cs中的JSON格式变量在前台Js中调用方法

    //后台cs代码: using System; using System.Collections.Generic; using System.Linq; using System.Web; using ...

  9. Js中各种类型的变量在if条件中是true还是false

    如果操作数是一个对象,返回true如果操作数是一个空字符串,返回false如果操作数是一个非空字符串,返回true如果操作数是数值0,返回false如果操作数是任意非0数值(包括Infinity),返 ...

随机推荐

  1. [TimLinux] JavaScript 获取设置在CSS类中的属性值

    1. 设置属性值 // 常用方式 var myEl = document.getElementById('idMyEl'); myEl.style.display = "none" ...

  2. [TimLinux] Python 类型与运算

    1. 内建(built-in)数据类型种类 数字类型:int(), float() 顺序(sequence): 字符串:str() 元祖:tuple() 列表:list() 字典:dict() 集合: ...

  3. 正则replace 回调函数里接收的参数是什么?

    前言 我们都知道 replace 在做替换处理方面会很常用,通常也是第一个会想到的方法.replace 第一个参数可以传入 string 或 RegExp,第二个参数可以传入 string 或 一个回 ...

  4. Proxmox VE虚拟化管理平台-相关概念

    请阅读此文用户务必阅读以下链接,其中包含了汉化作者.张自然copy过来的原因等信息. www.zhangziran.com/proxmox-docs-zh-cn.htm a Proxmox VE 集群 ...

  5. Mybatis代码生成器Mybatis-Generator使用详解

    前提 最近在做创业项目的时候因为有比较多的新需求,需要频繁基于DDL生成Mybatis适合的实体.Mapper接口和映射文件.其中,代码生成器是MyBatis Generator(MBG),用到了My ...

  6. 【Web技术】400- 浅谈Shadow DOM

    编者按:本文作者:刘观宇,360 奇舞团高级前端工程师.技术经理,W3C CSS 工作组成员. 为什么会有Shadow DOM 你在实际的开发中很可能遇到过这样的需求:实现一个可以拖拽的滑块,以实现范 ...

  7. HA-高可用集群

    原理:两台web服务器,通过心跳线进行通信,当主节点出现服务异常,备用节点通过探测判断主节点是否存活,若是不存活,就把服务接管过来. Web1和Web2中间有一根心跳线,检查对方的存活状态.流动IP: ...

  8. VMware Fushion解决:与vmmon模块的版本不匹配: 需要385.0,现有330.0。

    可以按下列步骤解决: 1. 退出VMware fusion2. 打开[终端]3. 执行命令:sudo rm -rf /System/Library/Extensions/vmmon.kext ,根据提 ...

  9. ChinaSys 一些心得

    这周不要脸的和老板一起去了 ChinaSys,可以说整个中国搞系统最nb的一批人的学术交流了.一圈报告听下来, 有几点心得,不多,可能也没有那么深刻. 系统领域的开源框架并不多 搞系统和搞AI,搞算法 ...

  10. Python 库打包分发、setup.py 编写、混合 C 扩展打包的简易指南(转载)

    转载自:http://blog.konghy.cn/2018/04/29/setup-dot-py/ Python 有非常丰富的第三方库可以使用,很多开发者会向 pypi 上提交自己的 Python ...