mongodb使用_遍历列表中的元素,作为变量,循环修改mongodb中的字段
一、问题描述:
需要将工作界面上的一些已经离职的用户状态改为失效,并备注为离职
二、需要准备/拿到手的工具/条件/数据:
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中的字段的更多相关文章
- 如何正确遍历删除List中的元素(普通for循环、增强for循环、迭代器iterator、removeIf+方法引用)
遍历删除List中符合条件的元素主要有以下几种方法: 普通for循环 增强for循环 foreach 迭代器iterator removeIf 和 方法引用 其中使用普通for循环容易造成遗漏元素的问 ...
- C语言合并两个集合(L,L1) 将L1中不在L中的元素插入到L线性表中
void main(){ Sqlist L,L1; InitList(&L); InitList(&L1); ListInsert(&L, 1, 2); ListInsert( ...
- 随机获取一个集合(List, Set)中的元素,随机获取一个Map中的key或value
利用Java提供的Random类.从List或Set中随机取出一个元素,从Map中随机获取一个key或value. 因为Set没有提供get(int index)方法,仅仅能先获取一个随机数后.利用一 ...
- js 数组 添加或删除 元素 splice 创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素 filter
里面可以用 箭头函数 splice 删除 增加 数组 中元素 操作数组 filter 创建新数组 检查指定数组中符合条件的所有元素
- ThinkPHP第五天(提交类型判定常量IS_POST等,错误页面种类,Model实例化方式,模板中使用函数,foreach循环,模板中.语法配置)
1.IS_GET.IS_POST.IS_PUT.IS_DELETE.IS_AJAX常量,方便快捷实现各个判断. 在Action类中还可以使用$this->isPost()等进行判断. 2.错误页 ...
- SystemUI中监听app启动,修改app中的状态栏背景色
参考 http://www.2cto.com/kf/201206/137225.html 从Android4.4开始,app可以自定义status bar 背景. 对于一些第三方app定义的状态栏背景 ...
- asp.net后台cs中的JSON格式变量在前台Js中调用方法(前后台示例代码)
//后台cs代码: using System; using System.Collections.Generic; using System.Linq; using System.Web; using ...
- asp.net后台cs中的JSON格式变量在前台Js中调用方法
//后台cs代码: using System; using System.Collections.Generic; using System.Linq; using System.Web; using ...
- Js中各种类型的变量在if条件中是true还是false
如果操作数是一个对象,返回true如果操作数是一个空字符串,返回false如果操作数是一个非空字符串,返回true如果操作数是数值0,返回false如果操作数是任意非0数值(包括Infinity),返 ...
随机推荐
- webpack(四) --css样式及图片打包
一.CSS样式打包 1. loader简介 由于Webpack打包入口目前只配置了一个index.js文件,那么其他需要被打包的文件都必须通过模块化方式引入该文件才行,而默认情况下,引入的文件必须是j ...
- Python之数据分析工具包介绍以及安装【入门必学】
前言本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 首先我们来看 Mac版 按照需求大家依次安装,如果你还没学到数据分析,建议你 ...
- 同时安装Office2016和Visio2016
最近由于学习需要使用Visio,于是下载来安装.之前使用的Office2016一切正常,但是怎么都安装不上visio,把Office2016卸载了安,又没有word.ppt这些,反正就是没法同时安装上 ...
- MySQL 数据查询小练习
作业 # 创建班级表 create table class ( cls_id int auto_increment primary key, cls_name varchar(10) not null ...
- Python3 常用模块1
目录 os模块 对文件夹操作 对文件进行操作 sys模块 json 和pickle模块 logging模块 日志等级 longging模块的四大组件 自定义配置 os模块 通过os模块我们可以与操作系 ...
- Python安装pIL包
PIL包名为pillow 使用命令进行安装: pip3 install pillow
- 【ZooKeeper系列】2.用Java实现ZooKeeper API的调用
温馨提示:在这里我再次提个小要求,希望大家能习惯看官方文档,文档虽然是英文但用词都比较简单,基本都能看懂文档表达的意思.授之以鱼不如授之以渔的道理相信大家都明白,也希望通过猿人谷的这个ZooKeepe ...
- Python3 基本类型在64位上的占用内存情况
基本类型占用的内存 类型 # -*- coding: utf-8 -*- # @Time : 2019-12-19 11:16 # @Author : binger import sys a = No ...
- 深入探索Java设计模式之构建器模式(五)
抽丝剥茧 细说架构那些事——[优锐课] 简单的程序不需要大量的设计过程,因为它们只关注有限的解决方案,仅使用几个类.大型程序专注于广泛的设计,该设计比好的设计范例的任何其他属性都更能利用可重用性.宏伟 ...
- 《Java知识应用》Java发送邮件(QQ,163)
1 准备 Jar包下载地址: 链接: https://pan.baidu.com/s/1kFZgWRR8yZaQH_baf6tzAg 提取码: x2e8 邮箱:授权码 2.案例: 通过QQ邮箱服务器 ...