界说
$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是数组字段,包括2个元艳。
db.students.insert({_id: 10, scores:[9, 10]})
构修盘问语句,增除了scores数组字段的末了一个元艳10
db.students.updateOne({_id: 10}, {$pop: {scores: 1}})
查问数据更新效果
到此那篇闭于Mongodb利用$pop增除了数组外元艳的操纵指北的文章便引见到那了,更多相闭Mongodb $pop增除了元艳形式请搜刮剧本之野之前的文章或者延续涉猎上面的相闭文章心愿大师之后多多撑持剧本之野!
发表评论 取消回复