Mongoose Query.prototype.merge() API
Last Updated :
24 Apr, 2025
The Mongoose Query API.prototype.merge() method of the Mongoose API is used on the Query objects. It allows us to merge one query with another query object. With the help of this method we can merge the conditions, field selection, and options of one query object with another query object. Let us understand the merge() method using an example.
Syntax:
query.merge( source );
Parameters: This method accepts a single parameter as discussed below:
- source: It is used to specify the query object to be merged.
Return Value: This method returns query object on which we can call callback function.
Setting up Node.js application:
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 documents are present in the collection.
Â
Example 1: In this example, we are illustrating the functionality of merge() method, where we are merging sourceQuery object to the query object.Â
Filename: app.js
JavaScript
// Require mongoose module
const mongoose = require("mongoose");
// Set Up the Database connection
const URI = "mongodb://localhost:27017/geeksforgeeks";
const connectionObject = mongoose.createConnection(URI, {
useNewUrlParser: true,
useUnifiedTopology: true,
});
const Customer = connectionObject.model(
"Customer",
new mongoose.Schema({
name: String,
address: String,
orderNumber: Number,
})
);
const query = Customer.find();
const sourceQuery = new mongoose.Query();
sourceQuery.ne("orderNumber", 15);
query.merge(sourceQuery);
query.exec((error, result) => {
if (error) {
console.log("Error -", error);
} else {
console.log("Result -", 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:
Result - [
{
_id: new ObjectId("639ede899fdf57759087a653"),
name: 'Aditya',
address: 'Mumbai',
orderNumber: 20,
__v: 0
},
{
_id: new ObjectId("63bcfcc2876922405349b69d"),
name: 'Bhavesh',
address: 'Mhow',
orderNumber: 65,
__v: 0
}
]
Example 2: In this example, we are illustrating the functionality of merge() method, where we are merging sourceQuery object to the query object. At the end, with the merging functionality conditions, filters, options are also being merged and we are able to see the result from the both the query conditions.Â
Filename: app.js
JavaScript
// Require mongoose module
const mongoose = require("mongoose");
// Set Up the Database connection
const URI = "mongodb://localhost:27017/geeksforgeeks";
const connectionObject = mongoose.createConnection(URI, {
useNewUrlParser: true,
useUnifiedTopology: true,
});
const Customer = connectionObject.model(
"Customer",
new mongoose.Schema({
name: String,
address: String,
orderNumber: Number,
})
);
const query = Customer.find();
query.nin('name', ["Chintu"]);
const sourceQuery = new mongoose.Query();
sourceQuery.ne("orderNumber", 65);
query.merge(sourceQuery);
query.then((res => {
console.log(res);
})).catch((err) => {
console.log(err);
})
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("639ede899fdf57759087a653"),
name: 'Aditya',
address: 'Mumbai',
orderNumber: 20,
__v: 0
}
]
Reference: https://mongoosejs.com/docs/api/query.html#query_Query-merge
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