MongoDB 数据删除操作

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_18948359/article/details/88635940

MongoDB 删除文档

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

在 MongoDB 中提供了如下几个方法:

  • db.collection.deleteOne(): 删除一行数据
  • db.collection.deleteMany() : 删除多行数据
  • db.collection.remove() : 删除数据(官方已经不推荐使用)

详细说明

// 语法
db.collection.deleteOne(
   <filter>,
   {
      writeConcern: <document>,
      collation: <document>
   }
)

db.collection.deleteMany(
   <filter>,
   {
      writeConcern: <document>,
      collation: <document>
   }
)

参数说明:

示例

删除集合中所有的文档。

db.products.deleteMany({});

删除集合中 instock 值为 true 的所有文档

db.products.deleteMany({instock : true });

删除集合中 instock 值为 true 的一个文档

db.products.deleteOne({instock : true });

 Mongodb中的repairDatabase()

repairDatabase 用来整理磁盘碎片,以及回收磁盘空间。 remove() 方法 并不会真正释放空间。db.repairDatabase() 来回收磁盘空间。

当使用repairDatabase 命令或者在shell命令中运行db.repairDatabase() 或者mongod –repair的过程中,清除的破损文件将不可恢复。Repair过程中,其他所有操作都无法执行,直到修复完成。

 语法

> db.repairDatabase()
# 或者
> db.runCommand({ repairDatabase: 1 })

这个命令,在官方的文档中也有提到,使用之前 最好做好备份 https://docs.mongodb.com/manual/reference/command/repairDatabase/index.html

猜你喜欢

转载自blog.csdn.net/qq_18948359/article/details/88635940