MongoDB删除文档

在 MongoDB 中,您可以使用 remove() 方法从集合中删除文档,语法格式如下:

成都创新互联公司是一家专注于成都网站设计、网站制作与策划设计,龙华网站建设哪家好?成都创新互联公司做网站,专注于网站建设十载,网设计领域的专业建站公司;建站业务涵盖:龙华等地区。龙华做网站价格咨询:028-86922220

db.collection_name.remove(
    ,
    {
        justOne: ,
        writeConcern:
    }
)

参数说明:

  • query:可选参数,定义要删除文档的条件;
  • justOne:可选参数,如果设为 true 或 1,则只删除一个文档,如果不设置该参数,或使用默认值 false,则删除所有匹配条件的文档;
  • writeConcern:可选参数,定义抛出异常的级别。

【示例】首先我们先向集合中插入以下数据:

> db.course.insert([
... {
... title: 'MongoDB教程',
... author: '编程帮',
... url: 'http://www.biancheng.com/mongodb/index.html'
... },{
... title: 'HTML教程',
... author: '编程帮',
... url: 'http://www.biancheng.com/html/index.html'
... },{
... title: 'C#教程',
... author: '编程帮',
... url: 'http://www.biancheng.com/csharp/index.html'
... }
... ])
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" : "http://www.biancheng.com/html/index.html"
}
{
        "_id" : ObjectId("603221bfe492ab9be9450309"),
        "title" : "C#教程",
        "author" : "编程帮",
        "url" : "http://www.biancheng.com/csharp/index.html"
}

如果集合中有多个符合条件的文档,但您只想删除其中的第一个文档的话,可以将 remove() 方法中的 justOne 参数设置为 1 或 true,如下所示:

db.course.remove({'title':'MongoDB教程'},{justOne:true})

如果您在使用 remove() 方法时没有指定具体的条件,那么 MongoDB 将删除集合中的所有文档,等效于 SQL 语句中的 truncate 命令,如下所示:

>db.course.remove({})
>db.course.find()

网页标题:MongoDB删除文档
网址分享:http://www.shufengxianlan.com/qtweb/news20/271870.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联