在 MongoDB 中,您可以使用 remove() 方法从集合中删除文档,语法格式如下:
db.collection_name.remove(
<query>,
{
justOne: <boolean>,
writeConcern: <document>
}
)
参数说明:
【示例】首先我们先向集合中插入以下数据:
> db.course.insert([ ... { ... title: 'MongoDB教程', ... author: '城东书院', ... url: 'https://www.cdsy.xyz/computer/soft/database/mongodb/' ... },{ ... title: 'HTML教程', ... author: '城东书院', ... url: 'https://www.cdsy.xyz/computer/programme/html_div_css/' ... },{ ... title: 'C#教程', ... author: '城东书院', ... url: 'https://www.cdsy.xyz/computer/programme/dotNet/' ... } ... ]) BulkWriteResult({ "writeErrors" : [ ], "writeConcernErrors" : [ ], "nInserted" : 3, "nUpserted" : 0, "nMatched" : 0, "nModified" : 0, "nRemoved" : 0, "upserted" : [ ] })
然后使用 remove() 方法删除集合中 title 为“MongoDB教程”的文档。
> db.course.remove({'title':'MongoDB教程'})
WriteResult({ "nRemoved" : 1 })
这是我们再使用 find() 方法来查看集合中的文档就会发现,title 为“MongoDB教程”的文档已经不在了。
> db.course.find().pretty() { "_id" : ObjectId("603221bfe492ab9be9450308"), "title" : "HTML教程", "author" : "城东书院", "url" : "https://www.cdsy.xyz/computer/programme/html_div_css/" } { "_id" : ObjectId("603221bfe492ab9be9450309"), "title" : "C#教程", "author" : "城东书院", "url" : "https://www.cdsy.xyz/computer/programme/dotNet/" }
如果集合中有多个符合条件的文档,但您只想删除其中的第一个文档的话,可以将 remove() 方法中的 justOne 参数设置为 1 或 true,如下所示:
db.course.remove({'title':'MongoDB教程'},{justOne:true})
如果您在使用 remove() 方法时没有指定具体的条件,那么 MongoDB 将删除集合中的所有文档,等效于 SQL 语句中的 truncate 命令,如下所示:
>db.course.remove({})
>db.course.find()