📜  mongoose | findByIdAndDelete()函数(1)

📅  最后修改于: 2023-12-03 15:03:02.391000             🧑  作者: Mango

Mongoose | findByIdAndDelete()函数

Mongoose是一个Node.js实际使用的MongoDB对象模型工具,可以让你在异步环境下设计异步数据的应用程序。

其中,findByIdAndDelete()函数是Mongoose模块提供的一种方法,用于通过_id查找并删除一个文档。

语法
Model.findByIdAndDelete(id, [options], [callback])
  • id (Object | String | Number): 必需,要查询的文档的id
  • options (Object): 可选参数
  • callback (Function): 可选参数,查询后回调函数
参数说明
options参数
  • select (Object | String): 省略或者指定对象属性,用以决定返回的文档字段。
  • projection (Object | String): 指定哪些字段不或者返回,传进去后{_id:0} 不显示_id {_id:1} 返回_id
  • sort (Object | String): 排序方式,在文档返回前进行排序。
  • rawResult (Boolean): 如果希望返回更多的删除信息,可以将选项的rawResult属性设置为true,此时将返回Mongodb原始查询结果,其中包括有关已删除的文档的更多信息。
  • lean (Boolean): 设置为真以返回普通JavaScript对象,而不是Mongoose文档。
  • overwrite (Boolean): 允许覆盖文档。
callback参数
  • err: 错误对象
  • result: 失败时为null,成功时返回被删除的文档。
返回值

在一个回掉函数中返回一个删除后的文档、文档查询结束时的状态和响应时间。

代码示例

以下代码演示了如何使用findByIdAndDelete()函数:

const mongoose = require('mongoose');
const Schema = mongoose.Schema;

const userSchema = new Schema({
    name: String,
    age: Number
});

const User = mongoose.model('User', userSchema);

const userId = '507f1f77bcf86cd799439011';

User.findByIdAndDelete(userId, function (err, deletedUser) {
    if (err) return handleError(err);
    console.log("删除成功:" + deletedUser);
});

输出结果:

删除成功: {
    _id: 507f1f77bcf86cd799439011,
    name: 'John',
    age: 26,
    __v: 0
}