一日一技:修改MongoDB集合中的字段名

一日一技是一个每天更新的栏目,旨在使用3分钟的时间让你每天都有新的进步。

在我们使用MongoDB的过程中,经常会出现修改数据的情况。我们一般使用 update_one或者 update_many这两个方法。

例如有一个集合里面的字段为:

name, age, salary, address

我要把所有address为北京的记录对应的salary修改为9999,那么代码可以写为:

collection.update_many({'address': '北京'}, {'$set': {'salary': 9999}})

但是,有些时候我们需要修改的是字段名,而不是字段的值。这种情况怎么办呢?

这种情况下,我们需要使用的方法还是 update_many,但是里面美元符号开头的操作符从 $set改为 $rename。代码变更为:

collection.update_many({}, {'$rename': {'字段1老名字': '字段1新名字', '字段2老名字': '字段2新名字'}})

其中, update_many的第一个参数为空字典,表示把所有数据的字段名都做修改。

这个命令稍作修改甚至可以直接写在Robo 3T中:

db.getCollection('集合名').updateMany( {}, { $rename: { "老字段名":"新字段名" } } )

如果这篇文章对你有用,请顺手点击转发,让更多人看到~

kingname

攒钱给产品经理买房。

mongo 改字段名_一日一技:修改MongoDB集合中的字段名相关推荐

  1. MySQL修改数据表中的字段名

    MySQL修改数据表中的字段名 在一张数据表中只能设置一个唯一名称的字段名.在同一张数据表中,不能出现两个名称完全相同的字段名. 因此,数据库系统可以通过字段名来区分数据表中的不同字段. 在MySQL ...

  2. python中不被定义_一日一技:在Python中双下划线私有方法不能被调用的原理

    一日一技:在Python中双下划线私有方法不能被调用的原理 在使用Python编写面向对象的代码时,我们会常常使用"继承"这种开发方式.例如下面这一段代码: class Info: ...

  3. python延时执行函数_一日一技:在 Python 中实现延迟调用

    一日一技:在 Python 中实现延迟调用 收录于话题 #你不知道的 Python 71个 摄影:产品经理 产品经理的生日餐 熟悉 Golang 的同学都知道,Golang 里面有一个关键词叫做def ...

  4. python文本格式上一日_一日一技:在 Python 中快速遍历文件

    一日一技:在 Python 中快速遍历文件 摄影:产品经理 厨师:产品经理 当我们要在一个文件夹及其子文件夹里面寻找特定类型的文件,我们可能会这样写代码: 没有子文件夹时 import os all_ ...

  5. 制打印如下所示的n行数字金字塔_一日一技:在Python中实现阿拉伯数字加上中文数字...

    在Python 3里面,中文是可以作为变量名的,而运算符又可以重载,基于这两个特性,我们可以实现阿拉伯数字与中文数字的四则运算. 首先我们定义一个类 Num: class Num(object): d ...

  6. python从数据库取数据 显示字段名_如何在python中将SQL数据库中的字段名放入列表中...

    以下是我目前掌握的代码:from ConfigParser import * import MySQLdb configuration = ConfigParser() configuration.r ...

  7. java 读取集合到流中_Java 10:将流收集到不可修改的集合中

    java 读取集合到流中 Java 10引入了几种新方法来促进不可修改集合的创建. List.copyOf , Set.copyOf和Map.copyOf方法从现有实例创建新的集合实例. 例如: Li ...

  8. Java 10:将流收集到不可修改的集合中

    Java 10引入了几种新方法来促进不可修改集合的创建. List.copyOf , Set.copyOf和Map.copyOf方法从现有实例创建新的集合实例. 例如: List<String& ...

  9. 修改MYSQL 表中的字段属性

    1.登录数据库 >mysql -u root -p 数据库名称 2.查询所有数据表 >show tables; 3.查询表的字段信息 >desc 表名称; 4.1.修改某个表的字段类 ...

最新文章

  1. 如何删除“最刺激的游戏”(Dotop.lik)
  2. 生成二维码接口,前端调用接口将二维码显示在页面上
  3. codeforces 118A-C语言解题报告
  4. 网站服务器时间秒杀,Javascript实现商品秒杀倒计时(时间与服务器时间同步)...
  5. 字体文件夹_下载了各种五花八门的CAD字体,为什么打开图纸还是找不到字体?...
  6. Spring配置实现AOP
  7. 《面向模式的软件体系结构1--模式系统》读书笔记(7)--- 通信
  8. C#:遍历JObject
  9. linux版wps无法输入中文的解决办法
  10. URL重定向,rewrite命令
  11. 统计/var/log/下有多少文件
  12. Orcad Library Builder使用教程以及安装踩坑记录
  13. 测试流程,测试用例模板介绍
  14. 一、绘制不同类别特征均值标准差直方图
  15. TP5加支付宝手机网站支付配置
  16. linux内核 自旋锁示例,自旋锁(示例代码)
  17. ConvE:Convolutional 2D Knowledge Graph Embeddings
  18. OpenGL制作简易地图(二)
  19. Matlab:License checkout failed. License Manager Error-95解决办法与Matlab加速启动
  20. 3、移植UBOOT之新建单板-时钟-SDRAM-串口

热门文章

  1. 使用maven+eclipse搭建最简单的struts2的HelloWorld
  2. linux下安装QQ
  3. MySQL出现同步延迟有哪些原因?如何解决?
  4. 获取服务端https证书
  5. 《Adobe InDesign CS5中文版经典教程》—第1课1.7节使用上下文菜单
  6. 前端最新技术学习地址总结
  7. hibernate fetch使用
  8. Missing separate debuginfos, use: debuginfo-install glibc-2.12-1.107.el6.i686
  9. 前端开发大众手册(转)
  10. 用nagios检测内存