$bitNot(集計)
定義
バージョン 6.3 で追加。
構文
$bitNot
演算子の構文は次のとおりです。
{ $bitNot: <expression> }
式は、単一の引数、または 1 つのint
要素またはlong
要素を含む配列にすることができます。
動作
注意
mongosh
のすべての数値は、整数ではなく double です。 mongosh
で整数を指定するには、 NumberInt()
またはNumberLong()
コンストラクターを使用します。 詳しくは、「 Int 32またはLong 」を参照してください。
MongoDB ドライバーが数値を処理する方法については、ドライバーのドキュメント を参照してください。
配列内のいずれかの引数がstring、double、decimal など、異なるデータ型である場合、MongoDB はエラーを返します。
式がnull
と評価された場合、操作はnull
を返します。
例
このページの例では、 switches
コレクションを使用しています。
db.switches.insertMany( [ { _id: 0, a: NumberInt(0), b: NumberInt(127) }, { _id: 1, a: NumberInt(2), b: NumberInt(3) }, { _id: 2, a: NumberInt(3), b: NumberInt(5) } ] )
次の集計では、 $project
ステージで$bitNot
演算子を使用します。
db.switches.aggregate( [ { $project: { result: { $bitNot: "$a" } } } ])
この操作は次の結果を返します。
[ { _id: 0, result: -1 }, { _id: 1, result: -3 }, { _id: 2, result: -4 } ]