Mongoose Query.prototype.readConcern() API
Last Updated :
26 Apr, 2025
The Mongoose Query API.prototype.readConcern() method of the Mongoose API is used on the Query objects. It allows us to set and configure the read concern query options for a particular query object. Using this method we can control the consistency and isolation properties of the data from different replica sets. Let us understand the readConcern() method using an example.
Syntax:
query.readConcern( level );
Parameters: This method accepts a single parameter as described below:
- level: It is used to specify the level of read concern.
Return Value: This method does not return any value.
Read Concern Level:
- local: This is used to specify that there is no guarantee that the data has been written to most of the replica set.
- available: This is used to specify that there is no guarantee that the data has been written to most of the replica set.
- majority: This is used to specify that the data has been acknowledged by most of the replica sets.
- linearizable: This is used to specify that reflects all successful majority-acknowledged writes that completed prior to the start of the read operation.
- snapshot: Only available for operations within multi-document transactions.
Setting up Node.js Mongoose Module:
Step 1: Create a Node.js application using the following command:
npm init
Step 2: After creating the NodeJS application, Install the required module using the following command:
npm install mongoose
Project Structure: The project structure will look like this:
Database Structure: The database structure will look like this, the following database present in the MongoDB.
Example 1: The below example illustrates the basic functionality of the Mongoose Connection readConcern() method. In this example, we are configuring read concern for local level.
Filename: app.js
Javascript
const mongoose = require( "mongoose" );
const connectionObject = mongoose.createConnection(URI, {
useNewUrlParser: true ,
useUnifiedTopology: true ,
});
const studentSchema = new mongoose.Schema({
name: { type: String },
age: { type: Number },
rollNumber: { type: Number },
});
const Student = connectionObject.model( 'Student' , studentSchema);
const query = Student.find()
query.readConcern( 'local' );
query.exec((error, result) => {
if (error) {
console.log(error);
} else {
console.log(result);
}
})
|
Step to run the program: To run the application execute the below command from the root directory of the project:
node app.js
Output:
[
{
_id: new ObjectId("63a40a1065e8951038a391b1"),
name: 'Student1',
age: 30,
rollNumber: 9,
__v: 0
},
{
_id: new ObjectId("63a4a98407370cdcd1961b1a"),
name: 'Student3',
age: 33,
rollNumber: 178,
__v: 0
},
{
_id: new ObjectId("63a4a9a207370cdcd1961b2c"),
name: 'Student2',
age: 18,
rollNumber: 176,
__v: 0
}
]
Example 2: The below example illustrates the basic functionality of the Mongoose Connection readConcern() method. In this example, we are configuring read concern for majority level.
Filename: app.js
Javascript
const mongoose = require( "mongoose" );
const connectionObject = mongoose.createConnection(URI, {
useNewUrlParser: true ,
useUnifiedTopology: true ,
});
const studentSchema = new mongoose.Schema({
name: { type: String },
age: { type: Number },
rollNumber: { type: Number },
});
const Student = connectionObject.model( 'Student' , studentSchema);
const query = Student.find({ name: 'Student2' })
query.readConcern( 'majority' );
query.then(result => {
console.log(result);
}). catch (error => {
console.log(error)
})
|
Step to run the program: To run the application execute the below command from the root directory of the project:
node app.js
Output:
[
{
_id: new ObjectId("63a4a9a207370cdcd1961b2c"),
name: 'Student2',
age: 18,
rollNumber: 176,
__v: 0
}
]
Reference: https://mongoosejs.com/docs/api/query.html#query_Query-readConcern
Similar Reads
Mongoose Query() API
The Mongoose API Query() method of the Mongoose API is used as a constructor to create a reference of Query. It allows us to create query objects and build query expressions. We do not need to create an object of the Query class in order to interact with the MongoDB collection. We can directly call
3 min read
Mongoose Query.prototype.$where() API
The Mongoose Query API.prototype.$where() method of the Mongoose API is used on the Query objects. It allows us to put the where condition in the form of JavaScript object or a function in order to pass the expression to the mongodb system. Let us understand the $where() method using an example. Syn
3 min read
Mongoose Query.prototype.and() API
The Mongoose Query API and() method is used to add additional filters to the current mongoose query instance. Syntax: Query.prototype.and(array) Parameters: It accepts the following parameters as mentioned above and described below: array: It is an array of conditions to concatenate to the current m
3 min read
Mongoose Query.prototype.catch() API
The Mongoose Query API.prototype.catch() method of the Mongoose API is used on the Query objects. It allows us to execute the query returned promise. Using this method we can handle the rejected promise error and can display it or use it for next processes. Rejected handler by the promise can be han
3 min read
Mongoose Query.prototype.clone() API
The Mongoose Query API clone() method is used to copy a mongoose query, and then can be executed anytime later. This method is useful if a query needs to be executed more than once, as a single query can't be executed twice. Syntax: Query.prototype.clone() Return type: It returns a Query object as a
3 min read
Mongoose Query.prototype.count() API
The Mongoose Query API count() method is used to count all the documents from a collection that matches the filter object provided in the arguments. Syntax: Query.prototype.count(filter, callback) Parameters: It accepts the following parameters as mentioned above and described below: filter: It is a
3 min read
Mongoose Query.prototype.countDocuments() API
The Mongoose Query API countDocuments() method is used to count all the documents from a collection that matches the filter object provided in the arguments. Syntax: Query.prototype.countDocuments(filter, options, callback) Parameters: It accepts the following parameters as mentioned above and descr
3 min read
Mongoose Query.prototype.deleteMany() API
The Mongoose Query API deleteMany() method is used to find and delete documents that are determined from the filter parameter, from a collection, using the MongoDB query system. Syntax: Query.prototype.deleteMany(filter, options, callback) Parameters: It accepts the following parameters as mentioned
3 min read
Mongoose Query.prototype.deleteOne() API
The Mongoose Query API deleteOne() method is used to find and delete a single document that is determined from the filter parameter, from a collection, using the MongoDB query system. Syntax: Query.prototype.deleteOne(conditions, options, callback) Parameters: It accepts the following parameters as
3 min read
Mongoose Query.prototype.distinct() API
The Mongoose Query API distinct() method is used to find the distinct values for a particular field in a collection and return the response as an array. Syntax: Query.prototype.distinct(field, filter, callback) Parameters: It accepted the following parameters as mentioned above and described below:
3 min read