MongoDB update修改器: $inc $set $unset $push $pull $pop

针对Fields的$修改器

$set:

  1. { $set: { key: value } }

$set:{"gender":"男"} 解释: $set 是update时的关键字,表示我要设置gender属性的值为"男"

如果该条Documents没有gender属性,他就会自动创建一个gender属性并且赋值为"男"

$set是修改器之一 :设置将某key设置为某值

例子:

1.把 "age" 为 13 的数据  "gender" 赋值为 "男",没有这个字段会自动创建一个gender字段,并且赋值为"男"

  1. > db.user.updateOne({age:13},{$set:{"gender":"男"}})
  2. { "acknowledged" : true, "matchedCount" : 1, "modifiedCount" : 1 }
  3. >
  4. >
  5. > db.user.find({age:13})
  6. { "_id" : ObjectId("5ca7a4c4219efd687462f968"), "id" : 4, "name" : "xiaogang", "age" : 13, "hobby" : [ "羽毛球", "篮球", "足球" ], "gender" : "男" }

2.把"age"为13的数据 “gender”赋值为"女"

  1. > db.user.updateOne({age:13},{$set:{"gender":"女"}})
  2. { "acknowledged" : true, "matchedCount" : 1, "modifiedCount" : 1 }
  3. >
  4. > db.user.find({age:13})
  5. { "_id" : ObjectId("5ca7a4c4219efd687462f968"), "id" : 4, "name" : "xiaogang", "age" : 13, "hobby" : [ "羽毛球", "篮球", "足球" ], "gender" : "女" }

$unset:

  1. { $unset: { key: 1} }

用来删除当前Key(field)的

例子:

删除age=13的数据的gender这个fields

  1. > db.user.updateOne({age:13},{$unset:{"gender":1}} )
  2. { "acknowledged" : true, "matchedCount" : 1, "modifiedCount" : 1 }
  3. >
  4. > db.user.find({age:13})
  5. { "_id" : ObjectId("5ca7a4c4219efd687462f968"), "id" : 4, "name" : "xiaogang", "age" : 13, "hobby" : [ "羽毛球", "篮球", "足球" ] }

成功了! {$unset:{"gender" : 1}} 就是删除 "gender" 这个 fields 相当于 关系型数据库中删除了 字段

$inc:

  1. { $inc: { key: value } }

类似于Python中的  变量 += 1 , 将查询到的结果 加上某一个值 然后保存

在原有值的基础上增加多少,

对文档的某个值为数字型(只能为满足要求的数字)的键进行增减的操作。

{$inc:{age:1} } 在年龄原有基础加一岁

  1. > db.user.find()
  2. { "_id" : ObjectId("5ca7a4b0219efd687462f965"), "id" : 1, "name" : "jack", "age" : 73 }
  3. { "_id" : ObjectId("5ca7a4b7219efd687462f966"), "id" : 2, "name" : "mike", "age" : 84, "gender" : "男" }
  4. { "_id" : ObjectId("5ca7a4c4219efd687462f967"), "id" : 3, "name" : "peter", "age" : 21 }
  5. { "_id" : ObjectId("5ca7a4c4219efd687462f968"), "id" : 4, "name" : "xiaogang", "age" : 13, "hobby" : [ "羽毛球", "篮球", "足球" ] }
  6. { "_id" : ObjectId("5ca7a4c4219efd687462f969"), "id" : 5, "name" : "ben", "age" : 24 }
  7. { "_id" : ObjectId("5ca7a505219efd687462f96a"), "id" : 6, "name" : "Mary", "age" : 84, "gender" : "男" }

把age=13的数据age增加一岁

  1. > db.user.updateOne({age:13},{$inc:{age:1}} )
  2. { "acknowledged" : true, "matchedCount" : 1, "modifiedCount" : 1 }
  3. > db.user.find({age:13})
  4. > db.user.find({age:14})
  5. { "_id" : ObjectId("5ca7a4c4219efd687462f968"), "id" : 4, "name" : "xiaogang", "age" : 14, "hobby" : [ "羽毛球", "篮球", "足球" ] }

成功了 , {$inc:{"age":1}}的意思是,"age"的原有数值上面 +1,

那我们再来实验一次,把14改为34,这怎么操作呢,其实可以理解为在 14 上加一个 20

  1. > db.user.updateOne({age:14},{$inc:{age:20}} )
  2. { "acknowledged" : true, "matchedCount" : 1, "modifiedCount" : 1 }
  3. > db.user.find({age:34})
  4. { "_id" : ObjectId("5ca7a4c4219efd687462f968"), "id" : 4, "name" : "xiaogang", "age" : 34, "hobby" : [ "羽毛球", "篮球", "足球" ] }

MongoDB update修改器: 针对Fields的$修改器 $inc $set $unset的更多相关文章

  1. MongoDB update修改器: 针对Arrays的$修改器 $push $pull $pop

    针对Arrays的$修改器 $push : { $push: { key: value } } 它是用来对Array (list)数据类型进行 增加 新元素的,相当于我们Python中 list.ap ...

  2. MongoDB update修改器 目录

    MongoDB update修改器: 针对Fields的$修改器 $inc $set $unset MongoDB update修改器: 针对Arrays的$修改器 $push $pull $pop ...

  3. Blender 之修改器代码分析

                           Blender的修改器(modifier)模块,默认界面右下块(Property)面板的扳手,分类(修改.生成.形变.模拟)列出所有的修改器.也可以空格键 ...

  4. python 全栈开发,Day124(MongoDB初识,增删改查操作,数据类型,$关键字以及$修改器,"$"的奇妙用法,Array Object 的特殊操作,选取跳过排序,客户端操作)

    一.MongoDB初识 什么是MongoDB MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介 ...

  5. MongoDB(课时18 修改器)

    3.4.3.2 修改器(原子操作) 对MongoDB数据库而言,数据的修改会牵扯到内容的变更,结构的变更(包含数组),所以在MongoDB在设计的时候就提供有一系列的修改器的应用,那么像之前使用的“$ ...

  6. 【MongoDB】4.MongoDB 原子修改器的 极速修改

    文档转自:http://blog.csdn.net/mcpang/article/details/7752736 对于文档的更新除替换外,针对某个或多个文档只需要部分更新可使用原子的更新修改器,能够高 ...

  7. MongoDB之$关键字及$修改器$set $inc $push $pull $pop

    一.查询中常见的  等于   大于  小于  大于等于  小于等于 等于:用':' 大于:用'$gt' 小于:用'$lt' 大于等于:用'$gte' 小于等于:用'$lte' MongoDB的操作就是 ...

  8. MongoDB 之 $关键字 及 $修改器 $set $inc $push $pull $pop MongoDB - 4

    我们在之前的 MongoDB 之 手把手教你增删改查 MongoDB - 2 中提到过 $set 这个系统关键字,用来修改值的对吧 但是MongoDB中类似这样的关键字有很多, $lt $gt $lt ...

  9. MongoDB数组修改器更新数据(转)

    MongoDB数组修改器更新数据    这里,我们将了解一下数组修改器.数组,是我们经常看到和使用到的且非常有用的数据结构:它不仅可以通过索进行引用,还可以作为集合来使用.数组修改器,顾名思义,它是用 ...

随机推荐

  1. perl _DATA_ 文件句柄

    常用的perl 读写文件的操作,我们都很熟悉了,需要先声明1个文件句柄.但是看下面这段代码: my %organisms = (); while(<DATA>){ chomp; if(/^ ...

  2. 【转帖】oracle数据类型和对应的java类型

    原文地址:http://otndnld.oracle.co.jp/document/products/oracle10g/102/doc_cd/java.102/B19275-03/datacc.ht ...

  3. swoole 定时器

    timer.php <?php //创建websocket服务器对象,监听0.0.0.0:9502端口 $ws = ); swoole_timer_tick(, function ($timer ...

  4. 8 -- 深入使用Spring -- 5...3 使用@CacheEvict清除缓存

    8.5.3 使用@CacheEvict清除缓存 被@CacheEvict注解修饰的方法可用于清除缓存,使用@CacheEvict注解时可指定如下属性: ⊙ value : 必须属性.用于指定该方法用于 ...

  5. js的 new Date()日期格式化显示以及js获取时间戳

    一.日期格式化显示: 对 new Date() 得到日期的进行格式显示扩展,扩展方法如下: // 对Date的扩展,将 Date 转化为指定格式的String // 月(M).日(d).小时(h).分 ...

  6. 【netcore入门】在Windows IIS上部署.NET Core 2.1项目

    部署之前先检查下面2个先决条件是否满足 1.安装了 IIS 模块 win7 在 控制面板→程序和功能→打开或关闭Windows功能→勾选Internet 信息服务(Internet Informati ...

  7. Qt编写软件运行时间记录(开源)

    在早期开发的软件中,尤其是初学者入门者写的软件,软件运行久了,难免遇到意外崩溃的时候,可是大部分的运行设备可能在现场客户那,需要记住每一次从软件启动后到软件意外关闭前的运行时间,需要记录的信息包括:编 ...

  8. hadoop的输入和输出文件

    对于hadoop的输入和输出文件,有什么要求吗?

  9. 自定义元素 v1:可重用网络组件

    google文档 https://developers.google.cn/web/fundamentals/web-components/customelements 兼容性 https://can ...

  10. Mongodb----整理

    ----------------------------------------------------------------------------------mongodb基本操作------- ...