此操作符用于删除数组内的一个值。
删除第一个值:
{$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"已经被删除了。