$bitsAnySet - Amazon DocumentDB

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

$bitsAnySet

Amazon DocumentDB の $bitsAnySet演算子は、フィールド内の指定されたビットで少なくとも 1 ビットが 1 に設定されているドキュメントをクエリするために使用されます。この演算子を使用すると、フィールドに保存されている値に対してビット単位のオペレーションを実行できるため、ビット単位の特性を持つデータの効率的なクエリと分析が可能になります。

パラメータ

  • field: ビット単位のオペレーションを適用するフィールド名。

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

例 (MongoDB シェル)

次の例は、 $bitsAnySet演算子を使用して、 flagsフィールドに少なくとも 1 ビットが設定されているドキュメントを検索する方法を示しています。

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

db.collection.insertMany([ { _id: 1, flags: 0b1010 }, { _id: 2, flags: 0b1100 }, { _id: 3, flags: 0b0011 }, { _id: 4, flags: 0b0100 } ]);

クエリの例

db.collection.find({ flags: { $bitsAnySet: 0b1010 } })

出力

{ "_id" : 1, "flags" : 10 } { "_id" : 2, "flags" : 12 } { "_id" : 3, "flags" : 3 }

クエリは、ビットマスクで指定されたビットの少なくとも 1 つが 0b1010 flagsフィールドに設定されているドキュメントを返します。

コードの例

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

Node.js
const { MongoClient } = require('mongodb'); async function main() { 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('collection'); const result = await collection.find({ flags: { $bitsAnySet: 0b1010 } }).toArray(); console.log(result); await client.close(); } main();
Python
from pymongo import MongoClient 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['collection'] result = list(collection.find({ 'flags': { '$bitsAnySet': 0b1010 } })) print(result) client.close()