MongoDB remove与delete区别
在 中, 和 以及 都用于删除文档记录。但是,remove 函数返回的删除的结果的 WriteResult,而 delete 函数返回的是 bson 格式。
其中 remove 是根据参数 justOne 来判断是删除所有匹配的文档记录还是仅仅删除一条匹配的文档记录,默认是删除所有的匹配的记录。
deleteOne 函数仅仅删除一条匹配的文档记录,而 deleteMany 函数是删除所有的匹配的文档记录。
案例
我们首先,使用 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()
执行完毕后,此时,如下图所示:
现在,我们使用 deleteMany 删除符合条件的所有记录,具体命令如下:
db.haicoder.deleteMany({"url" : "www.haicoder.net"})
执行完毕后,我们再次使用 remove 删除记录,执行完毕后,如下图所示:
我们看到,remove 返回的是 WrtieResult 结果。
MongoDB remove与delete区别总结
在 MongoDB 中,remove 和 deleteOne 以及 deleteMany 都用于删除文档记录。但是,remove 函数返回的删除的结果的 WriteResult,而 delete 函数返回的是 bson 格式。
其中 remove 是根据参数 justOne 来判断是删除所有匹配的文档记录还是仅仅删除一条匹配的文档记录,默认是删除所有的匹配的记录。
deleteOne 函数仅仅删除一条匹配的文档记录,而 deleteMany 函数是删除所有的匹配的文档记录。