Open In App

Mongoose Query prototype.selectedExclusively() API

Last Updated : 17 Nov, 2022
Improve
Improve
Like Article
Like
Save
Share
Report

Mongoose is an Object Data Modeling (ODM) library for MongoDB. It defines a strongly-typed schema, with default values and schema validations which are later mapped to a MongoDB document. 

Mongoose Query API selectedExclusively method is used to determine if an exclusive selection is made using the Mongoose select() query. Let’s understand more about this with some examples.

Syntax:

Query.prototype.selectedExclusively()

Parameters: It doesn’t take any parameters

Return type: It returns a Boolean | Object 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 creating the ReactJS application, Install the required module using the following command:

npm install mongoose

Project Structure: It will look like the following.

 

GUI Representation of the  Database using MongoDB Compass: Currently, the collection has no data.

 

Example 1: In this example, we will use the Query API selectedExclusively() method to determine if the “age” deselection is made.

Filename: main.js

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,
    },
    age: {
        type: Number,
    }
});
  
const personsArray = [
    {
        name: 'Luffy',
        age: 22
    },
    {
        name: 'Nami',
        age: 30
    },
    {
        name: 'Zoro',
        age: 15
    }
]
  
const Person = mongoose.model('Person', personSchema);
  
(async () => {
    const query = Person.find()
  
    console.log(query.selectedExclusively());
    query.select('-age')
    console.log(query.selectedExclusively());
})()


Step to Run Application: Run the application using the following command from the root directory of the project

node main.js

Output: We see that the value remains unchanged in the result.

 

GUI Representation of the Database using MongoDB Compass:

 

Example 2: In this example, we will use the Query API selectedExclusively() method to determine if the “age” deselection is made. Here, we will first deselect and select “age”, and that will make both console logs print out “null” as the response.

Filename: main.js

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,
    },
    age: {
        type: Number,
    }
});
  
const personsArray = [
    {
        name: 'Luffy',
        age: 22
    },
    {
        name: 'Nami',
        age: 30
    },
    {
        name: 'Zoro',
        age: 15
    }
]
  
const Person = mongoose.model('Person', personSchema);
  
(async () => {
    const query = Person.find()
  
    console.log(query.selectedExclusively());
    query.select('-age')
    query.select('age')
    console.log(query.selectedExclusively());
})()


Step to Run Application: Run the application using the following command from the root directory of the project:

node main.js

Output: We see that the value remains unchanged in the result.

 

GUI Representation of the  Database using MongoDB Compass:

 

Reference: https://mongoosejs.com/docs/api/query.html#query_Query-selectedExclusively



Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads