在 MongoDB 中,我们使用 remove 函数删除数据表里面的记录时,默认会删除所有匹配到的记录,如果我们仅仅要删除匹配到的其中一条记录,我们可以指定 justOne 参数为 true 即可。
db_name.collection_name.remove( <query>, { justOne: true } )
参数 | 描述 |
---|---|
db_name | 数据库名 |
collection_name | 集合名 |
query | 必选项,是设置删除的文档的条件 |
justOne | 布尔型的可选项,默认为 false,删除符合条件的所有文档,如果设为 true,则只删除一个文档 |
我们首先,使用 mongo 命令,连接上数据库,具体命令如下:
mongo
如下图所示:
现在,我们使用 use 命令,切换到 haicoder 数据库,具体命令如下:
use haicoder
现在,我们使用 insertMany 插入多条记录,具体命令如下:
db.haicoder.insertMany([{"name":"haicoder", "url":"www.haicoder.net"}, {"name":"HaiCoder", "url":"www.haicoder.net"}, {"name":"golang", "url":"https://haicoder.net/golang/golang-tutorial.html"}])
执行完毕后,此时,如下图所示:
我们看到,此时提示我们成功插入了三条记录,现在,我们使用 find 查询当前的所有记录,具体命令如下:
db.haicoder.find()
执行完毕后,此时,如下图所示:
现在,我们使用 remove 删除符合条件的单条记录,具体命令如下:
db.haicoder.remove({"url" : "www.haicoder.net"}, {justOne:true})
执行完毕后,我们再次使用 find 查询记录,执行完毕后,如下图所示:
我们看到,此时,我们仅仅删除了单条符合条件的记录,而没有删除所有符合的记录。
在 MongoDB 中,我们使用 remove 函数删除数据表里面的记录时,默认会删除所有匹配到的记录,如果我们仅仅要删除匹配到的其中一条记录,我们可以指定 justOne 参数为 true 即可。