MongoDB 删除文档

小柒助手 MongoDB评论64,348字数 486阅读1分37秒阅读模式

MongoDB 删除文档

在前面的几个章节中我们已经学习了MongoDB中如何为集合添加数据和更新数据。在本章节中我们将继续学习MongoDB集合的删除。

MongoDB remove()函数是用来移除集合中的数据。
文章源自小柒网-https://www.yangxingzhen.cn/7088.html

MongoDB数据更新可以使用update()函数。在执行remove()函数前先执行find()命令来判断执行的条件是否正确,这是一个比较好的习惯。
文章源自小柒网-https://www.yangxingzhen.cn/7088.html

语法

remove() 方法的基本语法格式如下所示:
文章源自小柒网-https://www.yangxingzhen.cn/7088.html

db.collection.remove(文章源自小柒网-https://www.yangxingzhen.cn/7088.html

   <query>,文章源自小柒网-https://www.yangxingzhen.cn/7088.html

   <justOne>文章源自小柒网-https://www.yangxingzhen.cn/7088.html

)文章源自小柒网-https://www.yangxingzhen.cn/7088.html

如果你的 MongoDB 是 2.6 版本以后的,语法格式如下:
文章源自小柒网-https://www.yangxingzhen.cn/7088.html

db.collection.remove(文章源自小柒网-https://www.yangxingzhen.cn/7088.html

   <query>,文章源自小柒网-https://www.yangxingzhen.cn/7088.html

   {

     justOne: <boolean>,

     writeConcern: <document>

   }

)

参数说明:

query:(可选)删除的文档的条件。

justOne:(可选)如果设为 true 或 1,则只删除一个文档,如果不设置该参数,或使用默认值 false,则删除所有匹配条件的文档。

writeConcern:(可选)抛出异常的级别。

实例

以下文档我们执行两次插入操作:

>db.col.insert({title: 'MongoDB 教程',

    description: 'MongoDB 是一个Nosql数据库',

    by: '小柒博客',

    url: 'https://www.yangxingzhen.cn',

    tags: ['mongodb', 'database', 'NoSQL'],

    likes: 100

})

使用 find() 函数查询数据:

> db.col.find()

{ "_id" : ObjectId("67064f89ade2f21f36b03154"), "title" : "MongoDB 教程", "description" : "MongoDB 是一个 Nosql 数据库",

"by" : "小柒博客", "url" : "https://www.yangxingzhen.cn", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 }

{ "_id" : ObjectId("5606616dade2f21f36b03138"), "title" : "MongoDB 教程", "description" : "MongoDB 是一个 Nosql 数据库",

"by" : "小柒博客", "url" : "https://www.yangxingzhen.cn", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 }

接下来我们移除title为 'MongoDB 教程'的文档:

>db.col.remove({'title':'MongoDB 教程'})

WriteResult({ "nRemoved" : 2 })          # 删除了两条数据

>db.col.find()

……                                                      # 没有数据

如果你只想删除第一条找到的记录可以设置justOne为1,如下所示:

>db.COLLECTION_NAME.remove(DELETION_CRITERIA,1)

如果你想删除所有数据,可以使用以下方式(类似常规SQL的truncate命令):

>db.col.remove({})

>db.col.find()

>

若文章图片、下载链接等信息出错,请在评论区留言反馈,博主将第一时间更新!如本文“对您有用”,欢迎随意打赏,谢谢!

继续阅读
Wechat
微信扫一扫,加我!
weinxin
我的微信
微信号已复制
微信公众号
微信扫一扫,关注我!
weinxin
我的公众号
公众号已复制
小柒助手
  • 本文由 小柒助手 发表于 2020年5月18日 15:29:55
  • 声明:本站所有文章,如无特殊说明或标注,本站文章均为原创。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。转载请务必保留本文链接:https://www.yangxingzhen.cn/7088.html
匿名

发表评论

匿名网友
:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

拖动滑块以完成验证