$bitsAllSet - Amazon DocumentDB

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

$bitsAllSet

$bitsAllSetOperator di Amazon DocumentDB digunakan untuk menanyakan dokumen di mana sekumpulan bit tertentu diatur ke 1 di bidang. Operator ini memungkinkan Anda untuk melakukan operasi bitwise pada nilai bidang dan dapat berguna ketika Anda perlu memeriksa status masing-masing bit dalam nilai numerik.

Parameter

  • field: Nama bidang numerik untuk melakukan operasi bitwise pada.

  • value: Bitmask numerik yang menentukan bit mana yang harus diperiksa, atau daftar posisi bit yang akan diperiksa. Bitmask numerik dapat berupa biner (0b...), desimal, heksadesimal (0x...), oktal (0o...), atau biner (). BinData Dalam daftar posisi bit, posisi bit yang paling tidak signifikan adalah 0.

Contoh (MongoDB Shell)

Contoh berikut menunjukkan bagaimana menggunakan $bitsAllSet operator untuk menemukan dokumen di mana flags bidang memiliki semua bit set yang ditentukan oleh bitmask.

Buat dokumen sampel

db.collection.insert([ { _id: 1, flags: 0b1010 }, { _id: 2, flags: 0b1100 }, { _id: 3, flags: 0b1110 } ])

Contoh kueri

db.collection.find({ flags: { $bitsAllSet: 0b1100 } })

Keluaran

{ "_id": 2, "flags": 12 }, { "_id": 3, "flags": 14 }

Dalam contoh ini, kueri memeriksa dokumen di mana flags bidang memiliki semua bit yang ditetapkan oleh bitmask 0b1100 (yang mewakili nilai desimal 12). Dokumen dengan _id 2 dan 3 cocok dengan kriteria ini, karena nilai flags bidangnya memiliki semua bit yang diperlukan (bit paling tidak signifikan ke-3 dan ke-4).

Contoh kode

Untuk melihat contoh kode untuk menggunakan $bitsAllSet perintah, pilih tab untuk bahasa yang ingin Anda gunakan:

Node.js
const { MongoClient } = require('mongodb'); async function findWithBitsAllSet() { 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: { $bitsAllSet: 0b1100 } }).toArray(); console.log(result); await client.close(); } findWithBitsAllSet();
Python
from pymongo import MongoClient def find_with_bits_all_set(): 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': { '$bitsAllSet': 0b1100 } })) print(result) client.close() find_with_bits_all_set()