$bitsAnyClear (いずれかのビットクリア)

最終更新:2026-10-09

$bitsAnyClear (いずれかのビットクリア)

$bitsAnyClear は、指定した位置のビットのうち少なくとも 1 つが 0 のドキュメントを照合します。`{ flags: { $bitsAnyClear: 7 } }`(2 進数で 111)は、ビット 0、1、2 のいずれかが 0 のドキュメントに一致します。$bitsAllClear より緩い条件です。整数と BinData のみ対応です。

カテゴリビット演算
MongoDB バージョン3.2+
例の言語mongosh(シェル)

📝 構文

{ <field>: { $bitsAnyClear: <bitmask or position array> } }

⚙️ パラメータ

フィールドマッチ対象の整数または BinData フィールド。
ビットマスク整数のビットマスクまたは位置配列(例: 7 または [0, 1, 2])。

戻り値:一致するドキュメントのカーソル

▶ 例

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

// $bitsAnyClear: ビット 0〜2 の少なくとも 1 つが 0
// 7 は 2 進数で 111
db.users.find({ flags: { $bitsAnyClear: 7 } })

// 位置の配列で指定
db.users.find({ flags: { $bitsAnyClear: [0, 1, 2] } })

出力:

// フラグのビット 0〜2 のうち少なくとも 1 つがクリアされているユーザーを返す

📌 注意事項

さらなる実践ケースを近日公開予定。

📚 関連チュートリアル

❓ よくある質問

Q$bitsAnyClear と $bitsAllClear の違いは?
A$bitsAnyClear は 1 つのビットでも 0 なら一致します。$bitsAllClear は列挙したビットがすべて 0 である必要があります。
Qビットがオフになっていることを確認するには?
A{ $bitsAnyClear: [2] } でビット 2 が 0 であることを確認できます。
Q浮動小数点数に対応していますか?
Aいいえ。int、long、BinData のみ対応しています。
Web-Tutorial.com

Web-Tutorial 技術チーム

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

100%