Skip to content
Related Articles
Get the best out of our app
GeeksforGeeks App
Open App
geeksforgeeks
Browser
Continue

Related Articles

Mongoose Query.prototype.countDocuments() API

Improve Article
Save Article
Like Article
Improve Article
Save Article
Like Article

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 described below:

  • filter: It is a mongoose object which identifies the existing document to count.
  • options: It is an optional mongoose object which is derived from Query.prototype.setOptions().
  • callback: It is a callback function that accepts 2 parameters: error and count.

Return type: It returns a Query object as a response.

Creating node application And Installing Mongoose:

Step 1: Create a node application using the following command:

mkdir folder_name
cd folder_name
npm init -y
touch main.js

Step 2: After completing the Node.js application, Install the required module using the following command:

npm install mongoose

Example 1: In this example, we will use this method to count the documents in the collection that have the name “Luffy”.

Filename: main.js

Javascript




// Importing the module
const mongoose = require('mongoose')
  
// Creating the 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,
    },
    age: {
        type: Number,
    }
});
  
const personsArray = [
    {
        name: 'Luffy',
        age: 20
    },
    {
        name: 'Nami',
        age: 20,
    },
    {
        name: 'Zoro',
        age: 35
    }
]
  
const Person = mongoose.model('Person', personSchema);
  
(async () => {
    await Person.insertMany(personsArray);
    const res = await Person
        .where({ name: "Luffy" })
        .countDocuments();
    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 count the documents in the collection that have the age “35”.

Filename: main.js

Javascript




// Importing the module
const mongoose = require('mongoose')
  
// Creating the 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,
    },
    age: {
        type: Number,
    }
});
  
const personsArray = [
    {
        name: 'Luffy',
        age: 20
    },
    {
        name: 'Nami',
        age: 20,
    },
    {
        name: 'Zoro',
        age: 35
    }
]
  
const Person = mongoose.model('Person', personSchema);
  
(async () => {
    await Person.insertMany(personsArray);
    const res = await Person
        .where({ age: 35 })
        .countDocuments();
    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/query.html#query_Query-countDocuments


My Personal Notes arrow_drop_up
Last Updated : 11 Jan, 2023
Like Article
Save Article
Similar Reads
Related Tutorials