Skip to content
Related Articles
Open in App
Not now

Related Articles

Mongoose Query prototype.selectedExclusively() API

Improve Article
Save Article
Like Article
  • Last Updated : 17 Nov, 2022
Improve Article
Save Article
Like Article

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


My Personal Notes arrow_drop_up
Like Article
Save Article
Related Articles

Start Your Coding Journey Now!