[$inc]

作用:修改器$inc可以对文档的某个值为数字型(只能为满足要求的数字)的键进行增减的操作。

Example: db.b.update({"uid" : "201203"},{"$inc":{"size" : 1}})

Array: array(‘$inc=>array(“size”=>1))

[$set]

作用:用来置顶一个键并更新键,若键不存在则创建

Example: db.b.update({"uid" : "201203"},{"$set":{"size" : 1}})

Array: array(‘$set=>array(“size”=>1))

[$gt]  =====  大于

[$gte] =====  大于等于

[$lt]   =====  小于

[$lte]  =====  小于等于

[$ne]   =====  不等于

Example: db.b.find({age:{$gt:18}})   ==> age>18

Array: array(‘age’=>array(“$gt”=>18))

[$in]

作用:包含

[$nin]

作用:not in

Example:  db.b.find({age:{$in:[20,22,32,12]}})

Array:array(“age”=>array(‘$in’=>“20”,”22”,”32”,”12”))

[$not]

作用:不匹配

Example:

查询不匹配name=B*带头的记录

db.users.find({“name”:{$not:/^B.*/}})

查询age取摩不等于10的数据

Db.users.find( {age: {$not: { $mod:[10,0] } } })

[$type]

作用:根据数据类型查询

Example:

$type判断字段类型 查询所有name字段是字符类型的 db.users.find({name: {$type: 2}}); 查询所有age字段是整型的 db.users.find({age: {$type: 16}});

[$exists]

作用:判断字段是否存在

查询所有存在name字段的记录  db.users.find({name: {$exists: true}});

查询所有不存在phone字段的记录 db.users.find({phone: {$exists: false}});

[$rename]

作用:更改属性名

> db.c5.update({}, {$rename:{'arr':'post'}}); //字符串所以,必须打上引号

> db.c5.find(){ "_id" : ObjectId("51e2421ecf05e15d315aa746"), "post" : [ 5, 6, 7, 8, 9, 0 ] }

[$inc]  ====== 数字类型字段增减

db.user.update({'name':'owen'},{'$inc':{'age':1}})

  • $push和$pushAll:向数组类型末尾追加数据,字段不存在则创建;
  • $addToSet:向数组类型追加数据时避免重复;
  • $each:遍历数组;
  • $pop:从数组中删除数据,{$pop:{key:1}}从末尾删除数据,-1从头部删除;
  • $pull和$pullAll:从数组中删除指定数据,db.list.update({},{$pull:{'todo':'undo'}});
  • 数组定位修改器:数组可以通过下标定位,也可以通过’$‘定位查询匹配到的记录,db.blog.update({'comments.author':'joe'},{'$set':{'comments.$.author':'jim'}});

mongo 修改器的更多相关文章

  1. mongo 修改器 $inc/$set/$unset/$pop/$push/$pull/$addToSet

    mongo $inc 可以对集合里面的某些值是数字的增减.看代码 $set  可以进行修改,并且不存在的时候默认添加. 同时还能该变数据的类型. 还可以该变内嵌元素的值 用.调用 $unset  删除 ...

  2. mongo数据更新(修改器)

    数据更新简单的做法是删除重新插入update()函数语法 db.集合.update(更新条件,新的对象数据(更新操作符),upsert,multi)upsert如果要更新的数据不存在,则增加一条新的内 ...

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

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

  4. CE修改器修改DNF 测试视频 阿修罗提升智力增加攻击力

    使用CE修改器来修改网络游戏,如DNF 测试视频: CE修改器:指的是Cheat Engine,字面上的意思指的是作弊引擎的意思,是一款内存修改编辑工具.通过修改游戏的内存数据来得到一些原本无法实现的 ...

  5. tp5 中 model 的修改器

    修改器可以在数据赋值的时候自动进行转换处理 class User extends Model { public function setNameAttr($value){ return strtolo ...

  6. Blender 之修改器代码分析

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

  7. mongodb的修改器

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

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

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

  9. MongoDB修改器的使用1

    为什么要使用修改器?     通常我们只会修改文档的一部分,这时候更新整个文档就显得很麻烦,通常是通过原子性的更新修改器来完成. 1."$set"修改器    "$set ...

随机推荐

  1. css样式兼容各个浏览器时的部分总结

    [本文基本是在网络转发过来的,网站就忘记了,这文本都是保存在自己电脑本地的,还有些自己添加了些内容,这内容还会有不断的完善和更行的] 什么是浏览器兼容:当我们使用不同的浏览器(Firefox IE7 ...

  2. jenkins-参数化构建(二)插件:Extended Choice Parameter

    一.Extended Choice Parameter插件 这个插件相对丰富,安装过程就不过多介绍了,在点击项目设置后会出现下载的插件名字. 写在文件中构建时效果如下:

  3. NSTextField/NSTextView中显示超链接以及NSMutableAttributedString用法

    扩展NSAttributedString 简单的实现方法是为NSAttributedString 添加一个category. 然后为此category添加额外的方法. 具体实现如下: [代码]c#/c ...

  4. MTQQ 物联网

    这个是学校的SRP项目.去年12月做了大概3周. 直接摘个人总结报告如下: 在本次“学生研究计划”项目,研究课题是“基于JAVA的智能家居公众号”.根据课题要求之一:以微信作为媒介,实现智能设备的远程 ...

  5. Collections类

    1:一个类对象之间的比较两种方法 1)实现Comparator<String>类并且从写Comparator类中的compare方法, public class A implements ...

  6. 第五周ip通信基础回顾

    广播请求,单播响应,ARP IPV4,IP地址32位二进制代码分为8个位一组 路由器每一个接口都是一个网段 ,网段与网段区分看网络地址 同一段链路是同网段 直接广播:主机号全为1 受限广播:全为1 特 ...

  7. Operating Systems (COMP2006)

    Operating Systems (COMP2006) 1st Semester 2019Page 1, CRICOS Number: 00301JOperating Systems (COMP20 ...

  8. go 学习第一个hello world 遇到的问题

    mac:Go安装和配置+GoLand安装和使用之完整教程 https://blog.csdn.net/zxy_666/article/details/80182688 前言作为一个go语言程序员,觉得 ...

  9. Elasticsearch学习笔记(八)Elasticsearch的乐观锁并发控制

    一.基于_version的乐观锁并发控制                 语法:PUT /test_index/test_type/id?version=xxx             更新时带上数据 ...

  10. VScode 中 vue文件template中不能使用tab补齐标签

    选择 文件-->首选项-->设置-->搜索  emmet,选择 编辑 setting.json, 添加下列代码: "emmet.includeLanguages" ...