一、问题描述:

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

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

  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. openstack网络(三)

    openstack网络架构 Neutron中的基本网络元素 插件扩展功能 ML2Modular Layer 2 plugin Neutron架构图 参考资料 openstack网络架构 Neutron ...

  2. [TimLinux] HTTP cookie与session技术

    1. HTTP特点 基于TCP/IP协议实现,上层应用协议 版本:HTTP/1.0, HTTP/1.1 HTTP/1.0默认短连接,HTTP/1.1默认长连接 HTTP请求与响应的无状态性 无状态性与 ...

  3. hdu-4638

    There are n men ,every man has an ID(1..n).their ID is unique. Whose ID is i and i-1 are friends, Wh ...

  4. 数学工具(三)scipy中的优化方法

    给定一个多维函数,如何求解全局最优? 文章包括: 1.全局最优的求解:暴力方法 2.全局最优的求解:fmin函数 3.凸优化 函数的曲面图 import numpy as np import matp ...

  5. Linux基础 - Crontab定时任务

    目录 设置Cron任务 创建任务 设置运行周期 配置命令 常见问题 如何列出所有的Cron任务 如何查看Cron任务运行log 如何配置带有虚拟venv的Python脚本 如何在Cron 任务中发送邮 ...

  6. Task 的一些个人见解

    Task确实比较好用且优雅 我感觉.NET要成为艺术家... public class TheTask { /// <summary> /// 直接调用是同步方法 /// </sum ...

  7. 解密国内BAT等大厂前端技术体系-携程篇(长文建议收藏)

    1 引言 为了了解当前前端的发展趋势,让我们从国内各大互联网大厂开始,了解他们的最新动态和未来规划.这是解密大厂前端技术体系的第四篇,前三篇已经讲述了阿里.腾讯.百度在前端技术这几年的技术发展. 这一 ...

  8. sql语句字符串包含

    select instr('1222','122') from dual//前者包含后者>0 oracle mysql 数据库可中 select charindex('1','12') from ...

  9. Linux Bash之通配符

    通配符是我们在shell环境中不知不觉中都会用到的,有时甚至都不会考虑到去探究其实现过程,因为使用得太普遍了.而清晰地理解每一个过程,将有助于我们的分析和调试. 说白了,通配符就是在 shell 环境 ...

  10. 分享一篇关于C#大文件上传的整个过程

    简单写个小例子,记录一下此次大文件上传遇到的所有问题. 一.客户端(使用winform窗体实现) 具体功能: 点击“选择”按钮,选择要上传的文件 点击“上传文件”按钮,上传该文件调用UpLoad_Re ...