Skip to content
Related Articles
Get the best out of our app
GeeksforGeeks App
Open App
geeksforgeeks
Browser
Continue

Related Articles

Mongoose Query.prototype.updateMany() API

Improve Article
Save Article
Like Article
Improve Article
Save Article
Like Article

The Mongoose Query API updateMany() method is used to update documents from a collection, using the MongoDB query system. It can update one or more than one documents at a time.

Syntax:

Query.prototype.updateMany(filter, update, options, callback)

Parameters: It accepts the following 4 parameters as mentioned above and described below:

  • filter: It is a mongoose object which identifies the existing document to update.
  • update: It is a mongoose object which is the document that will update the data in the existing document(s).
  • options: It is an optional mongoose object which is derived from Query.prototype.setOptions().
  • callback: It is a callback function that accepts the parameters, error, and writeOpResult.

Return type: It returns a Query object as a response.

Creating node application And Installing Mongoose:

Step 1: Create a node application using the following command:

mkdir folder_name
cd folder_name
npm init -y
touch main.js

Step 2: After completing the Node.js application, Install the required module using the following command:

npm install mongoose

Example 1: In this example, we will use this method to update an existing document that has an age greater than or equal to 30.

Filename: main.js

Javascript




const mongoose = require('mongoose')
  
// Database connection
    {
        dbName: 'event_db',
        useNewUrlParser: true,
        useUnifiedTopology: true
    }, err => err ? console.log(err)
        : console.log('Connected to database'));
  
const personSchema = new mongoose.Schema({
    name: {
        type: String,
    },
    age: {
        type: Number,
    }
});
  
const personsArray = [
    {
        name: 'Luffy',
        age: 19
    },
    {
        name: 'Nami',
        age: 20
    },
    {
        name: 'Zoro',
        age: 35
    }
]
  
const Person = mongoose.model('Person', personSchema);
  
(async () => {
    await Person.insertMany(personsArray);
    const res = await Person.updateMany(
        { age: { $gte: 30 } }, { age: 25 }
    );
    console.log({ res });
})()

Step to Run Application: Run the application using the following command from the root directory of the project:

node main.js

Output:

 

GUI Representation of the  Database using MongoDB Compass:

 

Example 2: In this example, we will use this method to update multiple existing documents whose names end with “i”.

Filename: main.js

Javascript




const mongoose = require('mongoose')
  
// Database connection
    {
        dbName: 'event_db',
        useNewUrlParser: true,
        useUnifiedTopology: true
    }, err => err ? console.log(err)
        : console.log('Connected to database'));
  
const personSchema = new mongoose.Schema({
    name: {
        type: String,
    },
    age: {
        type: Number,
    }
});
  
const personsArray = [
    {
        name: 'Luffy',
        age: 19
    },
    {
        name: 'Nami',
        age: 20
    },
    {
        name: 'Usorpi',
        age: 35
    }
]
  
const Person = mongoose.model('Person', personSchema);
  
(async () => {
    await Person.insertMany(personsArray);
    const res = await Person.updateMany(
        { name: /i$/ }, { name: "Usorp" }
       );
    console.log({ res });
})()

Step to Run Application: Run the application using the following command from the root directory of the project:

node main.js

Output: 

 

GUI Representation of the  Database using MongoDB Compass:

 

Reference: https://mongoosejs.com/docs/api/query.html#query_Query-updateMany


My Personal Notes arrow_drop_up
Last Updated : 29 Dec, 2022
Like Article
Save Article
Similar Reads
Related Tutorials