MongoDB数组删除第一个元素

MongoDB数组删除第一个元素

MongoDB 中,我们需要给某个数组类型的字段删除第一个元素,可以使用 update 语句加上 pop 来实现,并且给 pop 字段指定为 -1 即可。

MongoDB数组删除元素详解

语法

db_name.collection_name.update( <query>, {$pop:{filed:-1}} )

参数

参数 描述
db_name 数据库名
collection_name 集合名
query 必选项,是设置更新的文档的条件
filed 需要删除的字段

说明

在 update 里面,使用 pop 并指定参数 -1 来删除数组元素的第一个元素。

案例

我们首先,使用 mongo 命令,连接上数据库,具体命令如下:

mongo

如下图所示:

99_mongodb数组删除第一个元素pop.png

现在,我们使用 use 命令,切换到 haicoder 数据库,具体命令如下:

use haicoder

现在,我们使用 insert 插入一条记录,具体命令如下:

db.haicoder.insert({"name":"haicoder", "course":["c++","python","java"]})

执行完毕后,此时,如下图所示:

100_mongodb数组删除第一个元素pop.png

我们看到,此时提示我们成功插入了一条记录,现在,我们使用 find 查询当前的所有记录,具体命令如下:

db.haicoder.find({}, {_id:0})

执行完毕后,此时,如下图所示:

101_mongodb数组删除第一个元素pop.png

现在,我们使用 update 给 course 字段删除第一个元素,具体命令如下:

db.haicoder.update({"name":"haicoder"}, {"$pop":{"course" : -1}})

执行完毕后,我们再次使用 find 查看记录,如下图所示:

102_mongodb数组删除第一个元素pop.png

我们看到,此时,该条记录里面的 course 字段的第一个元素已经被我们删除了。

MongoDB数组删除第一个元素总结

在 MongoDB 中,我们需要给某个数组类型的字段删除第一个元素,可以使用 update 语句加上 pop 来实现,并且给 pop 字段指定为 -1 即可。