Boolean (真/偽)

最終更新:2026-10-09

Boolean (真/偽)

Boolean は true または false を保持します。フラグやトグル(isActive、isDeleted)に最適です。フィールド値を直接一致させてクエリします。フィールドが無いことと false は異なるため、区別には `$exists` を使います。0/1 や 'yes'/'no' の文字列は型の混乱を生むため避けてください。

カテゴリBSON 型
MongoDB バージョン1.0+
例の言語mongosh(シェル)

📝 構文

{ isActive: true }
db.users.find({ isActive: false })
db.users.find({ isActive: { $exists: false } })

戻り値:ブール値 true/false。クエリでは一致するドキュメントを返します

▶ 例

以下のコマンドをローカルの mongosh で実行してください(mongod が起動済みである必要があります):

// Boolean: フラグのフィルタリング
use shop
db.users.insertOne({ name: 'alice', isActive: true })
db.users.find({ isActive: true })

出力:

{ _id: ObjectId('...'), name: 'alice', isActive: true }

📌 注意事項

📚 関連チュートリアル

❓ よくある質問

Qブールフィールドにインデックスを張れますか?
A張れますが、値が2つしかないためカーディナリティが低く、他のフィールドとの複合インデックスを推奨します。
QisActive:false はフィールドが無いことと同じですか?
A違います。false の一致は値が false のドキュメントを返します。フィールドが無いものは $exists:false でのみ一致します。
Qブールの代わりに 0/1 を使えますか?
A推奨しません。数値とブールを混ぜると、クエリやアグリゲーションの型チェックが壊れます。
Web-Tutorial.com

Web-Tutorial 技術チーム

複数の開発者によって共同維持されているプログラミングチュートリアルプラットフォーム。各チュートリアルは専門分野の開発者が執筆・レビューしています。正確で信頼性の高いコンテンツを目指しています — 問題を見つけた場合はお知らせください。

100%