Mongoose QueriesModel.findByIdAndDelete()方法

Mongoose QueriesModel.findByIdAndDelete()方法

The Mongoose Queries findByIdAndUpdate() 方法 用于搜索匹配的文档并删除它。然后将找到的文档(如果有)返回给回调函数。此函数使用 id 字段。

Mongoose 模块的安装:

步骤1. 你可以访问链接来安装 mongoose 模块。你可以使用以下命令安装这个包。

npm install mongoose
JavaScript

步骤2. 在安装完模块后,您可以在命令提示符下使用命令来检查您的 Mongoose 版本。

npm version mongoose
JavaScript

步骤3. 随后,您可以创建一个文件夹并包含一个文件,例如index.js。为了运行该文件,您必须执行以下命令。

node script.js
JavaScript

语法:

Model.findByIdAndDelete(id, options, callback)
JavaScript

参数: 此方法接受四个参数,如上所述并下面描述。

  • id: 这是要搜索的ID。它可以是对象、数字或字符串。
  • options: 这些选项可以是:
    • 严格模式: 这可以是布尔值或字符串类型的选项。它会覆盖模式中的严格模式设置。
  • callback: 这是一个回调函数,一旦我们的查询成功执行,将会被执行。这是一个可选参数。

项目结构:

Mongoose QueriesModel.findByIdAndDelete()方法

我们的项目现在准备好了,但在我们开始工作之前,我们必须先建立数据库。我们正在使用MongoDB Cloud构建一个数据库。我们使用”people”集合来创建”test”数据库,它包含两个文档。当数据库创建完成时,它的样子如下:

Mongoose QueriesModel.findByIdAndDelete()方法

示例1: 在这个示例中,我们讨论了使用findByIdAndDelete函数并删除名为’Dadu’的文档。

文件名:script.js

// Require the mongoose module
const mongoose = require('mongoose');
 
// Path to our cloud DataBase
const url = 'mongodb://localhost:27017/GFG'
 
// Connecting to database
mongoose.set('strictQuery', false);
 
mongoose.connect(url)
    .then((ans) => {
        console.log("Connected Successful")
    })
    .catch((err) => {
        console.log("Error in the Connection")
    })
 
// Calling Schema class
const Schema = mongoose.Schema;
 
// Creating Structure of the model
const schema = new Schema({
    firstName: {
        type: String,
        require: true,
    },
    lastName: {
        type: String,
        require: true,
    }
});
// Compile our model
const Person = mongoose.model('Person', schema);
 
// Person.create({firstName: 'Gushan', lastName: 'Sahu'})
const deleteDocument = (id) => {
    try {
        Person.findByIdAndDelete(id,
            (err, x) => {
                if (err) console.log(err)
                else {
                    console.log('Deleted Successful!!')
                }
            })
 
    } catch (error) {
        console.log(error);
    }
}
 
let id = '63b5682c4853d8e67cc1dac3';
 
deleteDocument(id);
JavaScript

在连接到我们的“test”数据库之后,我们在测试数据库中构建和建模了“people”集合的模式。然后,我们编写了deleteDocument函数,该函数需要员工的id来执行删除操作。

id参数被传递给deleteDocument函数中的findByIdAndDelete()函数,以执行删除操作。这些操作包含在try/catch块中,以便在操作失败时捕获错误。

使用以下命令运行index.js文件:

node script.js
JavaScript

Mongoose QueriesModel.findByIdAndDelete()方法

Mongoose QueriesModel.findByIdAndDelete()方法

示例2: 在这个示例中,我们将从数据库中删除多个文档。

文件名:script2.js

// Require the mongoose module
const mongoose = require('mongoose');
 
// Path to our cloud DataBase
const url = 'mongodb://localhost:27017/GFG'
 
// Connecting to database
mongoose.set('strictQuery', false);
 
mongoose.connect(url)
    .then((ans) => {
        console.log("Connected Successful")
    })
    .catch((err) => {
        console.log("Error in the Connection")
    })
 
// Calling Schema class
const Schema = mongoose.Schema;
 
// Creating Structure of the model
const schema = new Schema({
    firstName: {
        type: String,
        require: true,
    },
    lastName: {
        type: String,
        require: true,
    }
});
 
// Compile our model
const Person = mongoose.model('Person', schema);
 
const deleteDocument = (id) => {
    try {
        for (let i of id) {
            Person.findByIdAndDelete(id,
                { strict: false }
                , (err, x) => {
                    if (err) console.log(err)
                    else {
                        console.log('Successfully Deleted!!')
                    }
                })
        }
    } catch (error) {
        console.log(error);
    }
}
 
let id = [
    '63b57197e57166d139d5d8d1',
    '63b57197e57166d139d5d8d2',
    '63b57197e57166d139d5d8d3'
]
deleteDocumen(id);
JavaScript

这是数据库创建完成后的样子:

Mongoose QueriesModel.findByIdAndDelete()方法

执行完函数后,我们可以在数据库中看到如下所示,特定员工数据已被删除:

Mongoose QueriesModel.findByIdAndDelete()方法

参考: https://mongoosejs.com/docs/api.html#model_Model-findByIdAndDelete

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册