数组更新操作符

此操作符用于删除数组内的一个值。


用法

删除第一个值:

{$pop:{field:-1}}

删除最后一个值:

{$pop:{field:1}}

注意 此操作符只能删除一个值,也就是说只能用1或-1,而不能用2或-2来删除两条。


示例

例如,展示当前数据,如下面的代码所示:

>db.t3.find()
{"_id":ObjectId("4fe680228414d282f712fae7"),
"name":["N1","N2","N3"],"userid":3}

接下来删除第一个值,如下面的代码所示:

>db.t3.update({"userid":3},{$pop:{"name":-1}})
>db.t3.find()
{"_id":ObjectId("4fe680228414d282f712fae7"),
"name":["N2","N3"],"userid":3}

第一个值"N1"已经被删除了,接下来删除最后一个值,如下面的代码所示:

>db.t3.update({"userid":3},{$pop:{"name":1}})
>db.t3.find()
{"_id":ObjectId("4fe680228414d282f712fae7"),"name":["N2"],"userid":3}

最后一个值"N3"已经被删除了。

数组更新操作符