Mongoose Aggregate.prototype.match() API
The Aggregate API.prototype.match() function of the Mongoose API is used to find the existing documents in the database that matches the conditions mentioned in the arguments of the API.
Syntax:
Aggregate.prototype.match()
Parameters: It accepts the following 4 parameters as mentioned above and described below:
- args: It is a mongoose object which identifies match conditions for the operator.
Return type: It returns the matched documents as a response.
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
The below examples will demonstrate the Mongoose Aggregate API.prototype.match() method.
Example 1: In this example, we will use this method to find existing documents that have the name “Luffy”.
Javascript
const mongoose = require( 'mongoose' )
{
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,
select: false
},
age: {
type: Number,
}
});
const personsArray = [
{
name: 'Luffy' ,
age: 19
},
{
name: 'Nami' ,
age: 30
},
{
name: 'Zoro' ,
age: 35
}
]
const Person = mongoose.model( 'Person' , personSchema);
(async () => {
await Person.insertMany(personsArray);
const res = await Person.aggregate()
.match({ name: 'Luffy' });
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 find existing documents that have the name either “Nami” or “Zoro”.
Javascript
const mongoose = require( 'mongoose' )
{
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,
select: false
},
age: {
type: Number,
}
});
const personsArray = [
{
name: 'Luffy' ,
age: 19
},
{
name: 'Nami' ,
age: 30
},
{
name: 'Zoro' ,
age: 35
}
]
const Person = mongoose.model( 'Person' , personSchema);
(async () => {
await Person.insertMany(personsArray);
const res = await Person.aggregate()
.match({ name: { $ in : [ 'Nami' , 'Zoro' ] } });
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/aggregate.html#aggregate_Aggregate-match
Last Updated :
22 Dec, 2022
Like Article
Save Article
Share your thoughts in the comments
Please Login to comment...