📜  mongoose | findOneAndUpdate()函数

📅  最后修改于: 2022-05-13 01:56:27.778000             🧑  作者: Mango

猫鼬 | findOneAndUpdate()函数

findOneAndUpdate()函数用于查找匹配的文档并根据 update arg 对其进行更新,传递任何选项,并将找到的文档(如果有)返回给回调。

猫鼬模块的安装:

  1. 您可以访问安装 mongoose 模块的链接。您可以使用此命令安装此软件包。
    npm install mongoose
  2. 安装 mongoose 模块后,您可以使用命令在命令提示符下检查您的 mongoose 版本。
    npm version mongoose
  3. 之后,您可以创建一个文件夹并添加一个文件,例如 index.js。要运行此文件,您需要运行以下命令。
    node index.js

文件名:index.js

const mongoose = require('mongoose');
  
// Database connection
mongoose.connect('mongodb://127.0.0.1:27017/geeksforgeeks',{
    useNewUrlParser: true,
    useCreateIndex: true,
    useUnifiedTopology: true,
    useFindAndModify: false
});
  
// User model
const User = mongoose.model('User',{
    name: { type: String },
    age: { type: Number }
});
  
// Find document matching the condition(age >= 5)
// and update first document with new name='Anuj'
// This function has 4 parameters i.e. filter,
// update, options, callback
User.findOneAndUpdate({age: {$gte:5} }, 
    {name:"Anuj"}, null, function (err, docs) {
    if (err){
        console.log(err)
    }
    else{
        console.log("Original Doc : ",docs);
    }
});

运行程序的步骤:

  1. 项目结构将如下所示:
    项目结构
  2. 确保您已经使用以下命令安装了 mongoose 模块:
    npm install mongoose
  3. 下面是函数执行前数据库中的示例数据,您可以使用任何 GUI 工具或终端查看数据库,例如我们使用 Robo3T 的 GUI 工具,如下所示:
    数据库
  4. 使用以下命令运行 index.js 文件:
    node index.js

  5. 函数执行后,可以看到数据库如下图:
    新数据库

因此,您可以使用 mongoose findOneAndUpdate()函数找到匹配的文档并根据更新参数对其进行更新,传递任何选项,并将找到的文档(如果有)返回给回调。