需求阐述:
已有一个csv格式数据文件,导入到source_data数据库中的corporation集合中,需要对其每条记录均增加一个键值对time:"2019/3/20",以指明该文件的日期
思路:
MongoDB客户端命令行
use source_data
db.corporation.help()
查询到bulkWrite()是进行批量操作
代码:
db.corporation.bulkWrite([{updateMany:{filter:{},update:{$set:{time:ISODate(20190320)}},upsert:1}}])
以上信息表明操作成功
- 传入的对象是一个列表
- 列表内部为json格式
- updateMany——操作
- filter——过滤器,{}中写查询对象,由于我的代码面向所有数据记录,故只用{}
- update——更新操作,$set保证更新正确进行
- upsert:1——更新对象不存在则进行插入操作
更新结果:
易错点:
命令行输入mongo之后,需要use 数据库名,先转到需要操作的数据库,否则默认在test数据库操作
matchedCount为0应当引起注意,匹配数为零也间接说明了操作的数据库非目标数据库