Mongodb使用$pop删除数组中元素的操作指南
定义
$pop操作符删除数组当中的第一个元素或最后一个元素。向指定数组字段传入参数-1,表示删除第一个元素。而向指定数组字段传入参数1,表示删除最后一个元素。
按照下面的形式,使用$pop操作符
{$pop: {<field>: -1|1, ...}}
当删除嵌套文档或数组中数组元素时,使用点操作符。
行为
- 自mongodb5.0开始,UPDATE操作按照字段名称的字典顺序更新字段。当字段中包含数字时,按照数字顺序依次更新字段。当然,对一个文档的多个字段操作,是原子性的。
- mongodb 5.0版本以后,向$pop传入空表达式({ })时,mongodb不再抛出错误。空表达式不会修改字段值 ,也不会在oplog中,添加新的操作记录。
- 针对非数组字段使用$pop时,数据更新操作会报错。
- 当使用$pop操作删除数组中的最后一个元素时,数组并不会被删除,而是保留一个空数组。
应用
删除数组中的第一个元素
创建students集合
db.students.insertOne({_id: 1, scores:[8,9,10]})
构建数据更新语句,删除字段scores中的第一个元素8
db.students.updateOne({_id: 1}, {$pop: {scores: -1}})
查询更新结果
删除数组当中的最后一个元素
向集合中插入数据。其中scores是数组字段,包含两个元素。
db.students.insert({_id: 10, scores:[9, 10]})
构建查询语句,删除scores数组字段的最后一个元素10
db.students.updateOne({_id: 10}, {$pop: {scores: 1}})
查询数据更新结果
到此这篇关于Mongodb使用$pop删除数组中元素的操作指南的文章就介绍到这了,更多相关Mongodb $pop删除元素内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
MongoDB.NET 2.2.4驱动版本对Mongodb3.3数据库中GridFS增删改查
这篇文章主要为大家详细介绍了使用MongoDB.NET 2.2.4驱动版本对Mongodb3.3数据库中GridFS增删改查,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2016-11-11初识NoSQL NoSql数据库入门 NoSql数据库基础知识
大家有没有听说过“NoSQL”呢?大家可能会误以为是“No!SQL”的缩写,但实际上,它是“Not Only SQL”的缩写。它的意义是:适用关系型数据库的时候就使用关系型数据库,不适用的时候也没有必要非使用关系型数据库不可,可以考虑使用更加合适的数据存储。2014-08-08
最新评论