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++实现程序单实例运行的两种方式
简介 在我们编写程序的时候,经常会注意到的一个问题就是如何能够让程序只运行一个实例,确保不会让同一个程序多次运行,从而产生诸多相同进程,给我们的带来不便呢?那么常用的有以下四种方法,第一种方法是通过扫 ...
- JavaScript -- 时光流逝(四):js中的 Math 对象的属性和方法
JavaScript -- 知识点回顾篇(四):js中的 Math 对象的属性和方法 1. Math 对象的属性 (1) E :返回算术常量 e,即自然对数的底数(约等于2.718). (2) LN2 ...
- docker 私有仓库简易搭建
概要 本地私有仓库 局域网私有仓库 总结 概要 docker hub 使用非常方便,而且上面有大量的镜像可以使用. 但是,每次都远程下载镜像速度非常慢,如果能在本地做一个 docker 的仓库,多人协 ...
- Nunit单元测试入门学习随笔(一)
Nunit单元测试 一.插件安装与项目关联 选择工具~扩展和更新 点击联机~搜索Nunit安装图内三个插件 新建单元测试项目 勾选项目引用 二.Nunit学习 1.了解单元测试 单元测试在我的理解是测 ...
- Linux之文档与目录结构
Linux文件系统结构 Linux目录结构的组织形式和Windows有很大的不同.首先Linux没有“盘(C盘.D盘.E盘)”的概念.已经建立文件系统的硬盘分区被挂载到某一个目录下,用户通过操作目录来 ...
- [JS]js中判断变量类型函数typeof的用法汇总[转]
1.作用: typeof 运算符返回一个用来表示表达式的数据类型的字符串. 可能的字符串有:"number"."string"."boolean&q ...
- 如何在tomcat前部署一个nginx
在tomcat应用已经发布后,如何在tomcat前部署一个nginx,可以正常访问jsp,静态资源(html,css,js) 这里tomcat的端口号是8888 upstream morris { s ...
- UVA10603-Fill(BFS)
Problem UVA10603-Fill Accept:1162 Submit:10693 Time Limit: 3000 mSec Problem Description There are ...
- python笔记31-使用ddt报告出现dict() -> new empty dictionary dict(mapping) 问题解决
使用ddt框架生成html报告的时候,出现:dict() -> new empty dictionary dict(mapping) -> new dictionary initializ ...
- CSAPP:信息的表和处理1
CSAPP:信息的表和处理1 关键点:寻址.内存.磁盘.虚拟地址.物理地址.整型数组. 信息存储中的几个概念整型数据类型无符号数有符号数几个概念有符号数与无符号数之间转换基于栈与基于寄存器的区别 信息 ...