4,MongoDB 之 $关键字 及 $修改器 $set $inc $push $pull $pop MongoDB
MongoDB中的关键字有很多, $lt $gt $lte $gte 等等,这么多我们也不方便记,这里我们说说几个比较常见的
一.查询中常见的 等于 大于 小于 大于等于 小于等于
等于 : 在MongoDB中什么字段等于什么值其实就是 " : " 来搞定 比如 "name" : "路飞学城"
大于 : 在MongoDB中的 大于 > 号 我们用 : $gt 比如 : "score" : { $gt : 80 } 就是 得到 "score" 大于 80 的数据
小于 : 在MongoDB中的 小于 < 号 我们用 : $lt 比如 : "score" : { $lt : 80 } 就是 得到 "score" 小于 80 的数据
大于等于 : 在MongoDB中的 大于等于 >= 号 我们用 : $gte 比如 : "score" : { $gte : 80 } 就是 得到 "score" 大于等于 80 的数据
小于等于 : 在MongoDB中的 小于等于 <= 号 我们用 : $lte 比如 : "score" : { $lte : 80 } 就是 得到 "score" 小于等于 80 的数据
这就是MongoDB中的运算符,是不是很类似我们使用的ORM中的运算符啊,没错,最开始的时候我们就已经说了,MongoDB的操作就是很类似ORM的
二.MongoDB中的那些个update修改器: $inc $set $unset $push $pull
在此前的update中,我们用过$set,对数据进行过更新,其实在update中还存在很多的$关键字,我们把update中的这些关键字叫做 修改器
修改器很多,这里挑一些重要的来说一说:
1.$inc : Python中的 变量 += 1 , 将查询到的结果 加上某一个值 然后保存
还是刚才Collection数据,我们来试一下$inc , 让不及格的 "路飞学城2" 变成 60 分
成功了 , {$inc:{"score":1}}的意思是,"score"的原有数值上面 +1,那我们再来实验一次,把60改为20,这怎么操作呢,其实可以理解为在 60 上加一个 -40
又成功了 , {$inc:{"score":-20}},$inc 的用法很简单,就是原有基础上在增加多少
2.$set : 此前我们已经提到过 $set 的用法和特性(没有就自动添加一条)了
再做一个例子:把 "score" 为 100 分 的 "english_name" 赋值为 "LuffyCity"
再把 "score" 为 20 分的 "score" 赋值为 59 分
3.$unset : 用来删除Key(field)的
做一个小例子 : 刚才我们有一个新的"english_name" 这个field ,现在我们来删除它
成功了! {$unset:{"english_name" : 1}} 就是删除 "english_name" 这个 field 相当于 关系型数据库中删除了 字段
4. $push : 它是用来对Array (list)数据类型进行 增加 新元素的,相当于Python中 list.append() 方法
做一个小例子 :首先我们要先对原有数据增加一个Array类型的field:
使用update $set 的方法只能为Document中的第一条添加
使用updateMany $set 的方法 可以为所有满足条件的 Document 添加 "test_list" , 注意我这里的条件为空 " {} " 就算是为空,也要写上"{}" 记住记住记住
接下来我们就要队列表进行添加了: 将 "score" 为 100 的Document 中"test_list" 添加一个 6
$push 是在 Array(list) 的尾端加入一个新的元素 {$push : {"test_list" : 6}}
5.$pull : 有了$push 对Array类型进行增加,就一定有办法对其内部进行删减,$pull 就是指定删除Array中的某一个元素
做一个例子: 把我们刚才$push进去的 6 删除掉
问题来了,如果 Array 数据类型中 如果有 多个 6 怎么办呢?
全部删掉了.....
得出了一个结论,只要满足条件,就会将Array中所有满足条件的数据全部清除掉
6. $pop : 指定删除Array中的第一个 或 最后一个 元素
做个小例子: 删除"score" 等于 100 分 test_list 的最后一个元素
怎么删除第一个呢?
{$pop:{"test_list" : -1}} -1 代表最前面, 1 代表最后边 (这和我们大Python正好相反) 记住哦
4,MongoDB 之 $关键字 及 $修改器 $set $inc $push $pull $pop MongoDB的更多相关文章
- MongoDB 之 $关键字 及 $修改器 $set $inc $push $pull $pop MongoDB - 4
我们在之前的 MongoDB 之 手把手教你增删改查 MongoDB - 2 中提到过 $set 这个系统关键字,用来修改值的对吧 但是MongoDB中类似这样的关键字有很多, $lt $gt $lt ...
- MongoDB之$关键字及$修改器$set $inc $push $pull $pop
一.查询中常见的 等于 大于 小于 大于等于 小于等于 等于:用':' 大于:用'$gt' 小于:用'$lt' 大于等于:用'$gte' 小于等于:用'$lte' MongoDB的操作就是 ...
- mongodb 学习笔记 2 --- 修改器
修改器是为了爱update文档时,不需要传入整个文档就能修改当前文档的某个属性值,修改器用法如下: 假设数据库中foo集合中存在如下文档:{"name":"jack&qu ...
- python 全栈开发,Day124(MongoDB初识,增删改查操作,数据类型,$关键字以及$修改器,"$"的奇妙用法,Array Object 的特殊操作,选取跳过排序,客户端操作)
一.MongoDB初识 什么是MongoDB MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介 ...
- mongodb修改器
mongodb修改器 转载自:http://blog.csdn.net/mcpang/article/details/7752736 mongodb修改器(\(inc/\)set/\(unset/\) ...
- MongoDB-比较符及修改器
数学比较符 $lt 小于 $lte 小于等于 $gt 大于 $gte 大于等于 $eq 等于 $ne 不等于 所有数据 > db.stutent.find() }) { "_id&qu ...
- Mongodb添加副本及修改优先级
Mongodb添加副本及修改优先级 1.添加副本集 #在primary节点上执行 >rs.add( { host: "192.168.1.11:27017", priorit ...
- MongoDB快速入门学习笔记5 MongoDB的文档修改操作
db.集合名称.update({query},{update},upsert, multi})query:过滤条件update:修改内容upsert:如果不存在查询条件查出的记录,是否插入一条数据,默 ...
- mongoDB系列之(一):10分钟玩转mongoDB
1. mongoDB是什麽 mongodb是时下流行的NoSql数据库,它的存储方式是文档式存储,并不是Key-Value形式. 存储在集合中的文档,被存储为键-值对的形式.键用于唯一标识一个文档,为 ...
随机推荐
- 图片延迟插件 Jquery.lazyload.min.js
当一个页面打开的图片太多,我们可以用jquery的一个延迟加载插件.名为:jquery.lazyload.min.js 使用非常简单,如下: <div style="height:70 ...
- hibernate_HelloWorld
环境准备 1.下载 hibernate 3.3.2: 2.下载 hibernate 3.4.0: 3.注意阅读 hibernate compatibility matrix(hibernate 网站, ...
- Linux命令之查看内存和CPU消耗命令TOP使用
1)输入top ,按enter键,即可查看服务器内存消耗情况 注意:其中PID表示进程号 :%cpu表示cpu消耗情况:%M表示内存消耗情况:通常在做性能测试的时候用到该命令: 默认为实时刷新:按s键 ...
- MySQL入门很简单: 8查询数据
1. 查询语句语法 SELECT 属性列表 FROM 表名和视图列表 [WHERE 条件表达式1] [GROUP BY 属性名1 [HAVING t条件表达式2]] [ORDER BY 属性名2 [A ...
- 如何计算并测量ABAP及Java代码的环复杂度Cyclomatic complexity
代码的环复杂度(Cyclomatic complexity,有的地方又翻译成圈复杂度)是一种代码复杂度的衡量标准,在1976年由Thomas J. McCabe, Sr. 提出. 在软件测试的概念里, ...
- python 字符串部分总结
字符串 对于单个字符的编码,Python提供了ord()函数获取字符的整数表示,chr()函数把编码转换为对应的字符 >>> ord('A') 65 >>> ord ...
- Selenium入门系列3 单个元素的定位方法
UI自动化首先要识别对象,再操作对象,最后判定实际结果与预期结果是否一致. 这一节学习的是识别单个对象,webdriver提供了8种方式. <a id="idofa" cla ...
- percona-toolkit 工具集安装
下载地址: www.percona.com/downloads/percona-toolkit 安装方法一,源码安装: perl Makefile.PL make:make install ...
- 转载:手把手教你搭建 vue 环境
以下内容转自: https://segmentfault.com/a/1190000008922234 第一步 node环境安装 1.1 如果本机没有安装node运行环境,请下载node 安装包进行安 ...
- 抽象类和final
抽象类: 概念:在继承过程中,形成一个继承金字塔,位于金字塔底部的类越来越具体(强大),位于塔顶的越来越抽象(简单). 关键字 :abstract 抽象类特性: [1]抽象类过于抽象,实例化后无语义 ...