📜  MongoDB – $pop 操作符

📅  最后修改于: 2022-05-13 01:56:58.385000             🧑  作者: Mango

MongoDB – $pop 操作符

MongoDB 提供了不同类型的数组更新运算符来更新文档中数组字段的值,$pop运算符就是其中之一。此运算符用于从数组中删除第一个或最后一个项目。

句法:

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

在这里, 可以在嵌入/嵌套文档或数组中用点表示法指定。

  • 如果您在 $pop 运算符传递 -1 值,那么它将从数组中删除第一项。
  • 如果您在 $pop 运算符传递 1 个值,那么它将从数组中删除最后一项。
  • 如果 不是数组,则此运算符将失败。
  • 如果 $pop运算符将从指定字段中删除最后一项,则该字段保存一个空数组。
  • 您可以根据需要将此运算符与 update()、findAndModify() 等方法一起使用。

在以下示例中,我们正在使用:

从数组中删除第一项:

在此示例中,我们通过将 $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}})