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.

Updated on: 2026-03-15T00:56:49+05:30

6K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements