Open In App
Related Articles

How does Query.prototype.maxTimeMS() works in Mongoose ?

Improve Article
Improve
Save Article
Save
Like Article
Like

The Query.prototype.maxTimeMS() function is used to set the maxTimeMS option. Basically this function tells the MongoDB server to abort if the query or write operation has been running for more than ms milliseconds.
 

Syntax:  

Query.prototype.maxTimeMS()

Parameters: This function has one ms parameter which defines the number of milliseconds.
Return Value: This function returns Query Object.
 

Mongoose Installation:

npm install mongoose

After installing the mongoose module, you can check your mongoose version in command prompt using the command. 

npm mongoose --version

After that, you can just create a folder and add a file for example, index.js as shown below.

Database: The sample database used here is shown below: 
 

Example 1:

index.js




const mongoose = require('mongoose');
  
// Database connection
    useNewUrlParser: true,
    useCreateIndex: true,
    useUnifiedTopology: true
});
  
// User model
const User = mongoose.model('User', { 
    name: { type: String },
    age: { type: Number }
});
  
const query = User.find();
query.maxTimeMS(10000);
  
query.exec(function(err,res){
    if(err) console.log(err.message)
    else console.log(res)
})


The project structure will look like this: 
 

Run index.js file using below command: 

node index.js

Output: 

[
  { _id: 5ebb9129a99bde77b2efb809, name: 'Gourav', age: 10, __v: 0 },
  { _id: 5ebc3669a99bde77b2efb9ba, name: 'Lalit', age: 25, __v: 0 },
  { _id: 5ebc367da99bde77b2efb9bf, name: 'Piyush', age: 5, __v: 0 },
  { _id: 5ebd345f5d2d8a3534b2f391, name: 'Manish', age: 34, __v: 0 }
]

Example 2:

index.js




const express = require('express');
const mongoose = require('mongoose');
const app = express()
  
// Database connection
    useNewUrlParser: true,
    useCreateIndex: true,
    useUnifiedTopology: true
});
  
// User model
const User = mongoose.model('User', { 
    name: { type: String },
    age: { type: Number }
});
  
const query = User.find();
query.maxTimeMS(30000);
  
console.log(query.options)
  
query.exec(function(err,res){
    if(err) console.log(err.message)
    else console.log(res)
})
  
app.listen(3000, function(error ) {
    if(error) console.log(error)
    console.log("Server listening on PORT 3000")
});


The project structure will look like this: 
 

Run index.js file using below command: 

node index.js

Output: 

{ maxTimeMS: 10000 }
Server listening on PORT 3000
[
  { _id: 5ebb9129a99bde77b2efb809, name: 'Gourav', age: 10, __v: 0 },
  { _id: 5ebc3669a99bde77b2efb9ba, name: 'Lalit', age: 25, __v: 0 }, 
  { _id: 5ebc367da99bde77b2efb9bf, name: 'Piyush', age: 5, __v: 0 }, 
  { _id: 5ebd345f5d2d8a3534b2f391, name: 'Manish', age: 34, __v: 0 } 
]

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


Whether you're preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape, GeeksforGeeks Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we've already empowered, and we're here to do the same for you. Don't miss out - check it out now!

Last Updated : 12 Mar, 2021
Like Article
Save Article
Previous
Next
Similar Reads
Complete Tutorials