前言
此篇博文是 Mongdb 基础系列之一;
本文为作者的原创作品,转载需注明出处;
简介
本章将描述如何通过 mongo shell 进行 delete 操作,主要描述如下方法,
本章内容将会采用如下的测试数据,
1 | db.inventory.insertMany( [ |
删除全部数据
1 | > db.inventory.deleteMany({}) |
使用一个空的 filter {} 来使用 db.collection.deleteMany() 方法,即可删除所有;
删除匹配条件的所有 documents
使用相等匹配的方式
格式,
1 | { <field1>: <value1>, ... } |
例子,
1 | db.inventory.deleteMany({ status : "A" }) |
这样会删除 inventory 中 status 字段等于 “A” 的所有 documents;
使用操作符的方式
格式,
1 | { <field1>: { <operator1>: <value1> }, ... } |
删除匹配条件的单个 document
使用 db.collection.deleteOne() 方法进行删除单个文档,即便是有多个文档被删除条件匹配,也只有第一个
文档被删除;
比如,下面这个例子只有第一个 status 等于 “D” 的文档将会被删除掉,
1 | db.inventory.deleteOne( { status: "D" } ) |
相关特性
Indexes
Delete operations
do not
drop indexes,even if
deleting all documents from a collection.
Atomicity
所有写入操作(包含删除)的事务原子性都是在单个 document 级别之上的;
Write Acknowledgement
With write concerns, you can specify the level of acknowledgement requested from MongoDB for write operations. For details, see Write Concern.