共计 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