阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

MongoDB 文档的删除操作

183次阅读
没有评论

共计 1534 个字符,预计需要花费 4 分钟才能阅读完成。

在 db 中删除数据是十分危险的事,建议使用 logic delete,即在 doc 中增加一个 field:IsDeleted,将其设置为 1,表示该 doc 在逻辑上被删除,这种 workaround 将 delete 操作转换为一个 update 操作,比较安全。

MongoDB 使用 remove 删除 doc,语法如下,

db.collection.remove(<query filter>,
   {justOne: <boolean>,
     writeConcern: <document>
   }
)

query filter=
{<field1>: <value1>, ... }  
{<field1>: {<operator1>: <value1>}, ... }

All write operations in MongoDB are atomic on the level of a single document.

1, 示例

创建 users collection

use test

user1={name:"t1", age:21}
user2={name:"t2", age:22}
user3={name:"t3", age:23}

db.users.insert([user1,user2,user3])

2,删除所有 doc

在 query filter 中设置 empty filter,空的 doc,将所有的 doc 都删除。

db.users.remove({})

3,删除所有符合 query filter 的 doc

db.users.remove({age:21})

4,只删除第一个符合 query filter 的 doc,设置 justOne 参数为 true

db.users.remove({age:{$gt:21}},{justOne:true})

5,以原子操作删除所有符合 query filter 的 doc,即在一个原子操作中奖多个 doc 删除

db.users.remove({age:{$gte:21},$isolated:1})

参考 doc:

Delete Documents

更多 MongoDB 相关教程见以下内容

CentOS 编译安装 MongoDB 与 mongoDB 的 php 扩展 http://www.linuxidc.com/Linux/2012-02/53833.htm

CentOS 6 使用 yum 安装 MongoDB 及服务器端配置 http://www.linuxidc.com/Linux/2012-08/68196.htm

Ubuntu 13.04 下安装 MongoDB2.4.3 http://www.linuxidc.com/Linux/2013-05/84227.htm

MongoDB 入门必读(概念与实战并重) http://www.linuxidc.com/Linux/2013-07/87105.htm

Ubunu 14.04 下 MongoDB 的安装指南 http://www.linuxidc.com/Linux/2014-08/105364.htm

《MongoDB 权威指南》(MongoDB: The Definitive Guide)英文文字版[PDF] http://www.linuxidc.com/Linux/2012-07/66735.htm

Nagios 监控 MongoDB 分片集群服务实战 http://www.linuxidc.com/Linux/2014-10/107826.htm

基于 CentOS 6.5 操作系统搭建 MongoDB 服务 http://www.linuxidc.com/Linux/2014-11/108900.htm

MongoDB 的详细介绍:请点这里
MongoDB 的下载地址:请点这里

本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-09/135275.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-22发表,共计1534字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中