MongoDB之修改器

$set  简单粗暴  {name: valuel}

  直接将key对应的值赋值给value、

db.xxoo.insert({}, {set: {key: value}})  // 添加字段

  相当于python中的dict['name'] = value

$unset  简单粗暴的删除字段

db.userinfo.updateOne({age: 18},{$unset: {age: 1}})  // 删除age字段

  相当于python中的del dict['name']。其中{age: 1}中的1也可以写其他值,总之布尔值为true即可。

$push  针对array的操作,添加

db.userinfo.updateOne({name: 'Ta'},{$push:{ghobby: 10}})  // 给ghobby字段添加10

  在array中追加一个新的元素,相当于python中的[].append('')。

$pull  针对array的操作,删除

db.userinfo.updateOne({name: 'Ta'},{$pull:{ghobby: 10}})  // 删除ghobby字段中的10

  删除array中的一个元素,相当于python中的[].remove(item)或者[].pop(-1)。

$pop  针对array的操作,删除

db.userinfo.updateOne({name: 'Ta'},{$pop:{ghobby: -1}})  // 删除ghobby字段中的第一个值

  当{ghobby: -1}中ghobby对应的值为-1时,则是正序删除第一个;ghobby对应的值为1时,则倒序删除第一个,即倒数第一个。 1与-1也可以写为其他值,正值从后往前删,负值从前往后删。

$inc  引用增加

db.userinfo.updateMany({},{$inc:{age: 1}})  // 给userinfo表中的age字段统一在原有的基础上增加1,当没有这个字段时,就创建一个,然后初始值为1.

$字符

  $  保存符合索引条件的下标

db.userinfo.updateOne({ghobby: 5},{$set:{'ghobby.2': '四'}})  // 将userinfo表中的ghobby字段中的索引为5的值修改为‘四’,{ghobby: 5}

  换另外一种方式

db.userinfo.updateOne({ghobby: 5},{$set:{'ghobby.$': '五'}})  // 将userinfo表中的ghobby字段中的值为5的元素替换为‘五’,{$set:{'ghobby.$': '五'}}中的$就是值为5的元素的索引,也就是,'ghobby.$'代指的就是值为5的这个元素。 

  当列表套列表的情况下只能使用一次$。

Object  字典操作

修改

db.userinfo.updateOne({name: 'Ta'},{$inc:{'Info.体重': -5}})  // 给userinfo表中的Info字段的体重元素减去5。

添加

db.userinfo.updateOne({name: 'Ta'},{$inc:{'Info.长度': 18}})  // 给userinfo表的Info字段添加一个值为18的长度元素

Array + Object

db.userinfo.updateOne({'ghobby.长度': 18}, {'$inc': {'ghobby.$.长度': 2}})  // 给userinfo表中的ghobby中的长度增加2

  使用$的好处是只是更改选中的这一条数据的具体的这个值,否则的话会修改这条记录中的所有的相关的值。

limit  限制显示

  从当前位置选择5个

db.userinfo.find({}).limit(5)  // 显示查到的前五条数据

skip  跳过

db.userinfo.find({}).skip(2)  // 从零开始跳过两条数据,显示剩下的所有的数据

sort  排序

db.userinfo.find({}).sort({ id:-1 })  // 根据id进行降序排序

limit + skip + sort

pymongo

0

MongoDB之修改器的更多相关文章

  1. MongoDB update修改器 目录

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

  2. MongoDB update修改器: 针对Fields的$修改器 $inc $set $unset

    MongoDB update修改器: $inc $set $unset $push $pull $pop 针对Fields的$修改器 $set: { $set: { key: value } } $s ...

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

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

  4. mongodb的修改器

    在mongodb中通常文档只会有一部分要更新,利用原子的更新修改器,可以做到只更新文档的一部分键值,而且更新极为高效,更新修改器是种特殊的键,用来指定复杂的更新操作,比如调整.增加.或者删除键,还可以 ...

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

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

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

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

  7. mongodb修改器

    mongodb修改器 转载自:http://blog.csdn.net/mcpang/article/details/7752736 mongodb修改器(\(inc/\)set/\(unset/\) ...

  8. [转载]MongoDB的$inc修改器

    MongoDB的$inc修改器相当于编程语言中的 “+=”“$inc”只能用于操作数值类型的数据,包括整数.长整数和双精度浮点数,用于其他类型的数据会导致操作失败. >db.users.find ...

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

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

随机推荐

  1. 两层c:forEach循环嵌套

    jsp中两级菜单如何用c:forEach输出 items 要被循环的信息 否 无 begin 开始的元素(0=第一个元素,1=第二个元素) 否 0 end 最后一个元素(0=第一个元素,1=第二个元素 ...

  2. Win10改AHCI无需重装系统(无需改注册表)的方法

    下面就开始:1.开机后按下WIN键 加 R键2.输入 msconfig3.如图中所示进行点击.1 引导界面 2安全引导打钩 .最小打钩 3 下面的确定.4.点击重新启动5.在重启时连续按 F2 进入B ...

  3. C# -- 正则表达式匹配字符之含义

    C#正则表达式匹配字符之含义 1.正则表达式的作用:用来描述字符串的特征. 2.各个匹配字符的含义: .   :表示除\n以外的单个字符 [ ]  :表示在字符数组[]中罗列出来的字符任意取单个 | ...

  4. Servlet(一):Hello Servlet

    今天介绍的专题是servlet和jsp,属于web开发中的基础,先来实际操作一下servlet,创建你的第一个web小项目. 1.新建一个maven项目. 鼠标右键单击eclipse左边项目栏的空白区 ...

  5. 如何指定一个计划和目标——6W

    作为一名IT人员,需要自己指定一个计划和目标,来保证完成进度和高效的完成任务. 参考管理学如何制作计划和目标的,套用过来,也是同样适用的.来先看看管理学的相关知识吧. 计划的概念:计划是为实现组织目标 ...

  6. 创建ssh 服务的镜像

    $ sudo docker run -ti ubuntu:14.04 /bin/bash #首先,使用我们最熟悉的 「-ti」参数来创建一个容器. root@fc1936ea8ceb:/# sshd ...

  7. (1)Python基础

    几种常用类型 int float str bool 基本数值操作 绝对值 abs 四舍五入 round 最大值&最小值

  8. UVA12563-Jin Ge Jin Qu hao(动态规划基础)

    Problem UVA12563-Jin Ge Jin Qu hao Accept: 642  Submit: 7638Time Limit: 3000 mSec Problem Descriptio ...

  9. [2] LabelImg图片标注 与 YOLOv3 网络训练 (待补充)

    LabelImg是一个图形图像注释工具. 它是用Python编写的,并使用Qt作为其图形界面. 注释以PASCAL VOC格式保存为XML文件,这是ImageNet使用的格式.Besdies,它也支持 ...

  10. iptables 从一台机到另一台机端口转发

    启用网卡转发功能#echo 1 > /proc/sys/net/ipv4/ip_forward 举例:从192.168.0.132:21521(新端口)访问192.168.0.211:1521端 ...