在 MongoDB 中,我们需要给某个数组类型的字段删除一个元素,可以使用 update 语句加上 pull 来实现。
db_name.collection_name.update( <query>, {$pull:{filed:value}} )
参数 | 描述 |
---|---|
db_name | 数据库名 |
collection_name | 集合名 |
query | 必选项,是设置更新的文档的条件 |
filed | 需要删除的字段 |
value | 需要添加的字段的值 |
在 update 里面,使用 pull 来给数组类型的字段删除元素。
我们首先,使用 mongo 命令,连接上数据库,具体命令如下:
mongo
如下图所示:
现在,我们使用 use 命令,切换到 haicoder 数据库,具体命令如下:
use haicoder
现在,我们使用 insert 插入一条记录,具体命令如下:
db.haicoder.insert({"name":"haicoder", "course":["c++","python","java"]})
执行完毕后,此时,如下图所示:
我们看到,此时提示我们成功插入了一条记录,现在,我们使用 find 查询当前的所有记录,具体命令如下:
db.haicoder.find({}, {_id:0})
执行完毕后,此时,如下图所示:
现在,我们使用 update 给 course 字段删除一个元素,具体命令如下:
db.haicoder.update({"name":"haicoder"}, {"$pull":{"course" : "python"}})
执行完毕后,我们再次使用 find 查看记录,如下图所示:
我们看到,此时,该条记录里面的 course 字段已经被我们删除了元素,现在,我们再次使用 push 向该条记录插入一个元素,具体命令如下:
db.haicoder.update({"name":"haicoder"}, {"$push":{"course" : "java"}})
执行完毕后,我们再次使用 find 查看记录,如下图所示:
现在,我们再次使用 update 给 course 字段删除一个元素,具体命令如下:
db.haicoder.update({"name":"haicoder"}, {"$pull":{"course" : "java"}})
执行完毕后,我们再次使用 find 查看记录,如下图所示:
我们看到,此时,该条记录里面的 course 字段里面的所有的 java 元素都被删除了。
在 MongoDB 中,我们需要给某个数组类型的字段增加一个元素,可以使用 update 语句加上 pull 来实现。