文档菜单
文档首页
/
MongoDB 手册
/ / / /

$pop

本页内容

  • 定义
  • 行为
  • 示例
$pop

$pop运算符用于删除数组中的第一个或最后一个元素。将-1传递给$pop以删除数组的第一个元素,并将1传递以删除数组中的最后一个元素。

$pop运算符的形式为

{ $pop: { <field>: <-1 | 1>, ... } }

要指定嵌入文档或数组中的<field>,请使用点表示法.

从MongoDB 5.0开始,更新运算符按字典顺序处理以字符串命名的字段。具有数字名称的字段按数字顺序处理。有关详细信息,请参阅更新运算符行为

如果<field>不是数组,则$pop操作失败。

如果$pop运算符从<field>中删除最后一个项目,则<field>将保留一个空数组。

从MongoDB 5.0开始,当使用像$pop这样的更新操作符与一个空的运算表达式({})时,mongod不再引发错误。一个空的更新不会产生任何变化,也不会创建任何操作日志条目(这意味着该操作是一个无操作)。

创建students集合

db.students.insertOne( { _id: 1, scores: [ 8, 9, 10 ] } )

以下示例从scores数组中移除了第一个元素,8

db.students.updateOne( { _id: 1 }, { $pop: { scores: -1 } } )

scores数组中的第一个元素,8,已被移除

{ _id: 1, scores: [ 9, 10 ] }

将以下文档添加到students集合中

db.students.insertOne( { _id: 10, scores: [ 9, 10 ] } )

以下示例通过在$pop表达式中指定1,从scores数组中移除了最后一个元素,10

db.students.updateOne( { _id: 10 }, { $pop: { scores: 1 } } )

已从 scores 数组中移除最后一个元素 10

{ _id: 10, scores: [ 9 ] }

提示

另请参阅

返回

$addToSet

本页内容