📜  MongoDB – $pop 操作符(1)

📅  最后修改于: 2023-12-03 15:17:41.837000             🧑  作者: Mango

MongoDB – $pop 操作符

在MongoDB中,$pop操作符用于从数组中删除第一个或最后一个元素。可以使用1删除最后一个元素,-1删除第一个元素。

语法
{ $pop: { <field>: <-1 | 1> } }
  • field:要进行操作的数组字段。
  • -1:删除数组的第一个元素。
  • 1:删除数组的最后一个元素。
示例

假设有以下的employee文档:

{
    "_id": 1,
    "name": "John",
    "age": 25,
    "languages": [
        "English",
        "Spanish",
        "French"
    ]
}

现在,通过使用$pop操作符来删除languages数组中的最后一个元素:

db.employee.update(
   { _id: 1 },
   { $pop: { languages: 1 } }
)

这将更新文档,使其类似于以下内容:

{
    "_id": 1,
    "name": "John",
    "age": 25,
    "languages": [
        "English",
        "Spanish"
    ]
}

同样地,如果想要删除数组中的第一个元素,可以将1替换为-1。

注意事项
  • 如果数组为空,则不会执行删除操作。
  • 如果字段中的值不是数组,则会忽略该操作。
  • 请注意,在分布式存储中使用$pop操作符可能会对性能产生负面影响。这是因为它会将整个文档加载到内存中,操作后再写回。因此,如果有大量文档需要进行此操作,则需要保持警惕。
参考资料