Mongoose Document Model.updateMany()函数

Mongoose Document Model.updateMany()函数

Mongoose文档模型的updateMany() API

Mongoose文档API的Model.updateMany()方法用于文档模型。它允许一次更新多个文档。使用此方法,我们可以在一次执行中更新与筛选条件匹配的多个文档。让我们通过一个例子来了解updateMany()方法。

语法:

Model.updateMany(filter, update, options, callback);

参数: 该方法接受以下四个参数进行讨论:

  • filter: 用于指定筛选条件,以过滤或识别需要更新的文档。
  • update: 用于为我们想要更新的字段设置最新的值。
  • options: 用于指定各种属性。
  • callback: 用于指定回调函数。

返回值: 它返回查询对象,我们可以在该对象上调用回调函数并处理Promise。

设置Node.js应用程序:

步骤1: 使用以下命令创建一个Node.js应用程序:

npm init

步骤2: 创建NodeJS应用程序后,使用以下命令安装所需的模块

npm install mongoose

项目结构: 项目结构将如下所示:

Mongoose Document Model.updateMany()函数

数据库结构: 数据库结构将会如下所示,以下文档存在于集合中。

Mongoose Document Model.updateMany()函数

示例1: 在这个示例中,我们演示了 updatemany() 方法的功能。我们使用 address 字段过滤文档,并更新订单编号 字段。最后,我们使用then和catch块处理返回的promise。

文件名: app.js

// Require mongoose module
const mongoose = require("mongoose");
 
// Set Up the Database connection
const URI = "mongodb://localhost:27017/geeksforgeeks";
 
let connectionObject = mongoose.createConnection(URI, {
    useNewUrlParser: true,
    useUnifiedTopology: true,
});
 
let Customer = connectionObject.model(
    "Customer",
    new mongoose.Schema({
        name: String,
        address: String,
        orderNumber: Number,
    })
);
 
Customer.updateMany({ address: "Indore" }, { orderNumber: 9 }).
    then(result => {
        console.log(result);
    }).catch(error => {
        console.log(error);
    });

运行程序的步骤: 从项目的根目录执行以下命令来运行应用程序

node app.js

输出:

{
  acknowledged: true,
  modifiedCount: 2,  
  upsertedId: null,  
  upsertedCount: 0,  
  matchedCount: 2    
}

使用 Robo3T GUI 工具的数据库的 GUI 表示:

Mongoose Document Model.updateMany()函数

示例2: 在这个例子中,我们演示了 updatemany() 方法的功能。我们使用 orderNumber 字段对文档进行筛选,并更新 address 字段。最后,我们通过将回调函数作为第三个参数提供给 updateMany() 方法来处理返回的承诺。

文件名: app.js

// Require mongoose module
const mongoose = require("mongoose");
 
// Set Up the Database connection
const URI = "mongodb://localhost:27017/geeksforgeeks";
 
let connectionObject = mongoose.createConnection(URI, {
    useNewUrlParser: true,
    useUnifiedTopology: true,
});
 
let Customer = connectionObject.model(
    "Customer",
    new mongoose.Schema({
        name: String,
        address: String,
        orderNumber: Number,
    })
);
 
Customer.updateMany({ orderNumber: 9 }, { address: "IND" }
    , (err, res) => {
        if (err) {
            console.log(err);
        } else {
            console.log(res);
        }
    });

运行程序的步骤: 从项目的根目录执行以下命令来运行应用程序:

node app.js

输出结果:

{
  acknowledged: true,
  modifiedCount: 0,  
  upsertedId: null,  
  upsertedCount: 0,  
  matchedCount: 2    
}

使用Robo3T GUI工具的数据库的GUI表示:

Mongoose Document Model.updateMany()函数

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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程