$bitsAnySet - Amazon DocumentDB

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

$bitsAnySet

Der $bitsAnySet Operator in Amazon DocumentDB wird verwendet, um Dokumente abzufragen, bei denen mindestens ein Bit in den angegebenen Bits in einem Feld auf 1 gesetzt ist. Dieser Operator ermöglicht es Ihnen, bitweise Operationen an den in Feldern gespeicherten Werten durchzuführen, was eine effiziente Abfrage und Analyse von Daten mit bitweisen Eigenschaften ermöglicht.

Parameter

  • field: Der Feldname, auf den die bitweise Operation angewendet werden soll.

  • value: Die numerische Bitmaske, die angibt, welche Bits geprüft werden sollen, oder eine Liste von Bitpositionen, die überprüft werden sollen. Eine numerische Bitmaske kann binär (0b...), dezimal, hexadezimal (0x...), oktal (0o...) oder binär () sein. BinData In einer Liste von Bitpositionen ist die Position des niedrigstwertigen Bits 0.

Beispiel (MongoDB Shell)

Das folgende Beispiel zeigt, wie der $bitsAnySet Operator verwendet wird, um Dokumente zu finden, bei denen mindestens ein Bit im flags Feld gesetzt ist.

Erstellen Sie Beispieldokumente

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

Beispiel für eine Abfrage

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

Ausgabe

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

Die Abfrage gibt die Dokumente zurück, in denen mindestens eines der in der Bitmaske angegebenen Bits im flags Feld gesetzt 0b1010 ist.

Codebeispiele

Um ein Codebeispiel für die Verwendung des $bitsAnySet Befehls anzuzeigen, wählen Sie die Registerkarte für die Sprache, die Sie verwenden möchten:

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()