MongoDB学习系列11:MongoDB中的修改器

使用修改器时,"_id"的值不能改变,而整个文档在替换时是可以改变"_id"的。

$set用来修改一个键的值。

$unset用来删除一个键。

$inc用来增加已有键的值,或者在键不存在时创建一个键。只能用于整数、长整数、或者双精度浮点数。

$push往数组里添加东西, $pop从数组中删除元素。

{$pop : { key : 1} }从数据末尾删除一个元素

{$pop : { key : -1} }从数据头部删除一个元素

有的时候需要基于特定条件来删除元素,而不仅仅是位置,此时使用$pull

db.lists.update({},{"$pull":{"todo":"xxx"}})

它会将所有匹配的部分删掉,比如【1,1,2,2】执行pull 1,剩下的就是【2,2】

$ne---不存在时

$addToSet---增加到集合里

$addToSet和$each组合起来,可以添加多个不同的值

比如

1db.user.update( 2{查询条件}, 3 {"addToSet": 4 {"emails" : {"$each" : ["value1" , "value2"] } } 5 } 6}

关于数组的定位修改器

1)使用下标,比如comments.0.votes,就是这个意思。0是下标。

2)定位操作符:

1db.blog.update( 2{查询条件}, 3{"$set": {"comments.$.author":"jim"}} 4)
点赞
收藏

评论区

加载中...

相关推荐

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

Vue 3 高阶指南之 WeakMap

高阶指南之WeakMap「WeakMap」对象是一组键/值对的集合,其中的键是弱引用的。其键必须是对象,而值可以是任意的。在JavaScript里,mapAPI可以通过使其四个API方法共用两个数组(一个存放键,一个存放值)来实现。给这种map设置值时会同时将键和值添加到这两个数组的末尾。从

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )

mysql中时间比较的实现

MySql中时间比较的实现unix\_timestamp()unix\_timestamp函数可以接受一个参数,也可以不使用参数。它的返回值是一个无符号的整数。不使用参数,它返回自1970年1月1日0时0分0秒到现在所经过的秒数,如果使用参数,参数的类型为时间类型或者时间类型的字符串表示,则是从1970010100:00:0

JS 对象数组Array 根据对象object key的值排序sort,很风骚哦

有个js对象数组varary\{id:1,name:"b"},{id:2,name:"b"}\需求是根据name或者id的值来排序,这里有个风骚的函数函数定义:function keysrt(key,desc) {  return function(a,b){    return desc ? ~~(ak