Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
-
Economics & Finance
Selected Reading
What is the syntax for boolean values in MongoDB?
MongoDB supports native boolean values true and false. You can query boolean fields using equality operators like $eq and $ne, or by direct value matching.
Syntax
// Direct boolean matching
db.collection.find({"booleanField": true});
db.collection.find({"booleanField": false});
// Using $eq operator
db.collection.find({"booleanField": {$eq: true}});
// Using $ne operator
db.collection.find({"booleanField": {$ne: false}});
Sample Data
Let us create a collection with boolean values ?
db.booleanQueryDemo.insertMany([
{"UserName": "John", "UserAge": 23, "isMarried": true},
{"UserName": "Chris", "UserAge": 21, "isMarried": false},
{"UserName": "Robert", "UserAge": 24, "isMarried": false},
{"UserName": "David", "UserAge": 26, "isMarried": true}
]);
{
"acknowledged": true,
"insertedIds": [
ObjectId("5cc815c08f9e6ff3eb0ce44a"),
ObjectId("5cc815d08f9e6ff3eb0ce44b"),
ObjectId("5cc815dc8f9e6ff3eb0ce44c"),
ObjectId("5cc815ed8f9e6ff3eb0ce44d")
]
}
Verify Sample Data
db.booleanQueryDemo.find().pretty();
{
"_id": ObjectId("5cc815c08f9e6ff3eb0ce44a"),
"UserName": "John",
"UserAge": 23,
"isMarried": true
}
{
"_id": ObjectId("5cc815d08f9e6ff3eb0ce44b"),
"UserName": "Chris",
"UserAge": 21,
"isMarried": false
}
{
"_id": ObjectId("5cc815dc8f9e6ff3eb0ce44c"),
"UserName": "Robert",
"UserAge": 24,
"isMarried": false
}
{
"_id": ObjectId("5cc815ed8f9e6ff3eb0ce44d"),
"UserName": "David",
"UserAge": 26,
"isMarried": true
}
Case 1: Query for False Values
Find all users where isMarried is false ?
db.booleanQueryDemo.find({isMarried: {$eq: false}}).pretty();
{
"_id": ObjectId("5cc815d08f9e6ff3eb0ce44b"),
"UserName": "Chris",
"UserAge": 21,
"isMarried": false
}
{
"_id": ObjectId("5cc815dc8f9e6ff3eb0ce44c"),
"UserName": "Robert",
"UserAge": 24,
"isMarried": false
}
Case 2: Query for True Values
Find all users where isMarried is true using $ne operator ?
db.booleanQueryDemo.find({isMarried: {$ne: false}}).pretty();
{
"_id": ObjectId("5cc815c08f9e6ff3eb0ce44a"),
"UserName": "John",
"UserAge": 23,
"isMarried": true
}
{
"_id": ObjectId("5cc815ed8f9e6ff3eb0ce44d"),
"UserName": "David",
"UserAge": 26,
"isMarried": true
}
Alternative Direct Matching
You can also query boolean fields directly without operators ?
// Direct true matching
db.booleanQueryDemo.find({isMarried: true});
// Direct false matching
db.booleanQueryDemo.find({isMarried: false});
Conclusion
MongoDB natively supports true and false boolean values. Use $eq, $ne operators or direct value matching to query boolean fields effectively in your MongoDB collections.
Advertisements
