MongoDB – $pop 操作符
MongoDB 提供了不同类型的数组更新运算符来更新文档中数组字段的值,$pop运算符就是其中之一。此运算符用于从数组中删除第一个或最后一个项目。
句法:
{ $pop: { : <-1 | 1>, ... } }
在这里,
- 如果您在 $pop 运算符传递 -1 值,那么它将从数组中删除第一项。
- 如果您在 $pop 运算符传递 1 个值,那么它将从数组中删除最后一项。
- 如果
不是数组,则此运算符将失败。 - 如果 $pop运算符将从指定字段中删除最后一项,则该字段保存一个空数组。
- 您可以根据需要将此运算符与 update()、findAndModify() 等方法一起使用。
在以下示例中,我们正在使用:
Database: GeeksforGeeks
Collection: contributor
Document: two documents that contain the details of the contributor in the form of field-value pairs.
从数组中删除第一项:
在此示例中,我们通过将 $pop运算符的值设置为 -1 来删除文档中与指定条件匹配的语言字段的第一个元素,即名称:“Rohit”。
db.contributor.update({name: "Rohit"}, {$pop: { language: -1}})
从数组中删除最后一项:
在此示例中,我们通过将 $pop运算符的值设置为 1 来删除文档中与指定条件匹配的语言字段的最后一个元素,即名称:“Sumit”。
db.contributor.update({name: "Sumit"}, {$pop: {language: 1}})
从嵌入/嵌套文档中删除第一项:
在此示例中,我们通过将 $pop运算符的值设置为 -1 来删除嵌套文档中personal.semesterMarks 字段的最后一个元素。
db.contributor.update({name: "Sumit"},
{$pop: {"personal.semesterMarks": -1}})