MongoDB之修改器
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之修改器的更多相关文章
- MongoDB update修改器 目录
MongoDB update修改器: 针对Fields的$修改器 $inc $set $unset MongoDB update修改器: 针对Arrays的$修改器 $push $pull $pop ...
- MongoDB update修改器: 针对Fields的$修改器 $inc $set $unset
MongoDB update修改器: $inc $set $unset $push $pull $pop 针对Fields的$修改器 $set: { $set: { key: value } } $s ...
- MongoDB数组修改器更新数据(转)
MongoDB数组修改器更新数据 这里,我们将了解一下数组修改器.数组,是我们经常看到和使用到的且非常有用的数据结构:它不仅可以通过索进行引用,还可以作为集合来使用.数组修改器,顾名思义,它是用 ...
- mongodb的修改器
在mongodb中通常文档只会有一部分要更新,利用原子的更新修改器,可以做到只更新文档的一部分键值,而且更新极为高效,更新修改器是种特殊的键,用来指定复杂的更新操作,比如调整.增加.或者删除键,还可以 ...
- MongoDB update修改器: 针对Arrays的$修改器 $push $pull $pop
针对Arrays的$修改器 $push : { $push: { key: value } } 它是用来对Array (list)数据类型进行 增加 新元素的,相当于我们Python中 list.ap ...
- 【MongoDB】4.MongoDB 原子修改器的 极速修改
文档转自:http://blog.csdn.net/mcpang/article/details/7752736 对于文档的更新除替换外,针对某个或多个文档只需要部分更新可使用原子的更新修改器,能够高 ...
- mongodb修改器
mongodb修改器 转载自:http://blog.csdn.net/mcpang/article/details/7752736 mongodb修改器(\(inc/\)set/\(unset/\) ...
- [转载]MongoDB的$inc修改器
MongoDB的$inc修改器相当于编程语言中的 “+=”“$inc”只能用于操作数值类型的数据,包括整数.长整数和双精度浮点数,用于其他类型的数据会导致操作失败. >db.users.find ...
- python 全栈开发,Day124(MongoDB初识,增删改查操作,数据类型,$关键字以及$修改器,"$"的奇妙用法,Array Object 的特殊操作,选取跳过排序,客户端操作)
一.MongoDB初识 什么是MongoDB MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介 ...
随机推荐
- 两层c:forEach循环嵌套
jsp中两级菜单如何用c:forEach输出 items 要被循环的信息 否 无 begin 开始的元素(0=第一个元素,1=第二个元素) 否 0 end 最后一个元素(0=第一个元素,1=第二个元素 ...
- Win10改AHCI无需重装系统(无需改注册表)的方法
下面就开始:1.开机后按下WIN键 加 R键2.输入 msconfig3.如图中所示进行点击.1 引导界面 2安全引导打钩 .最小打钩 3 下面的确定.4.点击重新启动5.在重启时连续按 F2 进入B ...
- C# -- 正则表达式匹配字符之含义
C#正则表达式匹配字符之含义 1.正则表达式的作用:用来描述字符串的特征. 2.各个匹配字符的含义: . :表示除\n以外的单个字符 [ ] :表示在字符数组[]中罗列出来的字符任意取单个 | ...
- Servlet(一):Hello Servlet
今天介绍的专题是servlet和jsp,属于web开发中的基础,先来实际操作一下servlet,创建你的第一个web小项目. 1.新建一个maven项目. 鼠标右键单击eclipse左边项目栏的空白区 ...
- 如何指定一个计划和目标——6W
作为一名IT人员,需要自己指定一个计划和目标,来保证完成进度和高效的完成任务. 参考管理学如何制作计划和目标的,套用过来,也是同样适用的.来先看看管理学的相关知识吧. 计划的概念:计划是为实现组织目标 ...
- 创建ssh 服务的镜像
$ sudo docker run -ti ubuntu:14.04 /bin/bash #首先,使用我们最熟悉的 「-ti」参数来创建一个容器. root@fc1936ea8ceb:/# sshd ...
- (1)Python基础
几种常用类型 int float str bool 基本数值操作 绝对值 abs 四舍五入 round 最大值&最小值
- UVA12563-Jin Ge Jin Qu hao(动态规划基础)
Problem UVA12563-Jin Ge Jin Qu hao Accept: 642 Submit: 7638Time Limit: 3000 mSec Problem Descriptio ...
- [2] LabelImg图片标注 与 YOLOv3 网络训练 (待补充)
LabelImg是一个图形图像注释工具. 它是用Python编写的,并使用Qt作为其图形界面. 注释以PASCAL VOC格式保存为XML文件,这是ImageNet使用的格式.Besdies,它也支持 ...
- iptables 从一台机到另一台机端口转发
启用网卡转发功能#echo 1 > /proc/sys/net/ipv4/ip_forward 举例:从192.168.0.132:21521(新端口)访问192.168.0.211:1521端 ...