findOneAndDelete()
Model.findOneAndDelete(filter[, options][, callback])
参数一:filter
参数二:options
-
sort
:如果查询条件找到多个文档,则设置排序顺序以选择要删除哪个文档。 -
select/projection
:指定返回的字段。 -
rawResult
:如果为true
,则返回来自 MongoDB 的原生结果。
参数三:callback
- 没有符合
filter
的数据时,返回null
。 -
filter
为空或{}
时,删除第一条数据。 - 删除成功返回
{}
形式的原数据。
findByIdAndDelete()
Model.findByIdAndDelete(id[, options][, callback])
id
Model.findByIdAndDelete(id)
相当于 Model.findOneAndDelete({ _id: id })
。
callback
- 没有符合
id
的数据时,返回null
。 -
id
为空或undefined
时,返回null
。 - 删除成功返回
{}
形式的原数据。
deleteMany()
Model.deleteMany(filter[, options][, callback])
filter
删除所有符合 filter
条件的文档。
callback
callback(err, rawResponse)
-
err
:错误信息 -
rawResponse
:Mongo 返回的原生的response
let result = await Model.deleteMany({name: 'dora'})
// { n: 1, ok: 1, deletedCount: 1 }
-
n
:要删除的文档数量。 -
deletedCount
:删除的文档数量。
deleteOne()
Model.deleteOne(filter[, options][, callback])
filter
删除符合 filter
条件的第一条文档。
callback
callback(err, rawResponse)
-
err
:错误信息 -
rawResponse
:Mongo 返回的原生的response
let result = await Model.deleteOne({name: 'dora'})
// { n: 1, ok: 1, deletedCount: 1 }
-
n
:要删除的文档数量。 -
deletedCount
:删除的文档数量。
findOneAndRemove()
Model.findOneAndRemove(filter[, options][, callback])
用法与 findOneAndDelete()
一样,一个小小的区别是 findOneAndRemove()
会调用 MongoDB 原生的 findAndModify()
命令,而不是 findOneAndDelete()
命令。
建议使用 findOneAndDelete()
方法。
findByIdAndRemove()
Model.findByIdAndRemove(id[, options][, callback])
id
Model.findByIdAndRemove(id)
相当于 Model.findOneAndRemove({ _id: id })
。
remove()
Model.remove(filter[, options][, callback])
从集合中删除所有匹配 filter
条件的文档。要删除第一个匹配条件的文档,可将 single
选项设置为 true
。
callback
返回 rawResponse
原生的结果。
let result = await Model.remove({name: 'dora'})
// { n: 1, ok: 1, deletedCount: 1 }
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。