$bitsAnyClear - Amazon DocumentDB

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

$bitsAnyClear

Amazon DocumentDB の $bitsAnyClear演算子は、フィールド内の指定されたビットのいずれかがクリアされているドキュメントを照合するために使用されます (0 に設定)。これは、ドキュメントに保存されているフィールド値に対してビット単位のオペレーションを実行するのに役立ちます。

パラメータ

  • field: 確認するフィールド。

  • value: チェックするビットを指定する数値ビットマスク、またはチェックするビット位置のリスト。数値ビットマスクは、バイナリ (0b...)、10 進数、16 進数 (0x...)、8 進数 (0o...)、またはバイナリ (BinData) 形式にすることができます。ビット位置のリストでは、最下位ビットの位置は 0 です。

例 (MongoDB シェル)

次の例は、 $bitsAnyClear演算子を使用して、itemsコレクションの statusフィールドでビットがクリアであるかどうかを確認する方法を示しています。

サンプルドキュメントを作成する

db.items.insertMany([ { "_id": 1, "status": 7 }, { "_id": 2, "status": 15 }, { "_id": 3, "status": 31 } ]);

クエリの例

db.items.find({ "status": { $bitsAnyClear: 8 } })

出力

{ "_id" : 1, "status" : 7 }

この例では、クエリは、ビットマスク 8 (バイナリ ) でstatusフィールドのビットクリア (0) があるドキュメントをチェックします1000。(7バイナリ 111) statusの値を持つドキュメントは、指定されたビットマスクで少なくとも 1 ビットクリアであるため、クエリと一致します。一致するクリアビットは、4 番目に重要度の低いビットです。

コードの例

$bitsAnyClear コマンドを使用するためのコード例を表示するには、使用する言語のタブを選択します。

Node.js
const { MongoClient } = require('mongodb'); async function example() { const client = await MongoClient.connect('mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false'); const db = client.db('test'); const collection = db.collection('items'); const result = await collection.find({ "status": { $bitsAnyClear: 8 } }).toArray(); console.log(result); await client.close(); } example();
Python
from pymongo import MongoClient def example(): client = MongoClient('mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false') db = client.test collection = db.items result = list(collection.find({ "status": { "$bitsAnyClear": 8 } })) print(result) client.close() example()