Open In App

Mongoose Aggregate.prototype.match() API

Improve
Improve
Like Article
Like
Save
Share
Report

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')
  
// 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,
        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')
  
// 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,
        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
Previous
Next
Share your thoughts in the comments
Similar Reads