Mongoose Query prototype.selectedExclusively() API
Last Updated :
26 Apr, 2025
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
mongoose.connect('mongodb://localhost:27017/query-helpers',
{
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
mongoose.connect('mongodb://localhost:27017/query-helpers',
{
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