$bitsAllSet - Amazon DocumentDB

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

$bitsAllSet

L'$bitsAllSetopérateur d'Amazon DocumentDB est utilisé pour rechercher des documents pour lesquels un ensemble spécifique de bits est défini sur 1 dans un champ. Cet opérateur vous permet d'effectuer des opérations bit par bit sur des valeurs de champ et peut être utile lorsque vous devez vérifier l'état de bits individuels au sein d'une valeur numérique.

Paramètres

  • field: nom du champ numérique sur lequel effectuer l'opération bit par bit.

  • value: masque de bits numérique qui indique quels bits doivent être vérifiés, ou une liste de positions de bits à vérifier. Un masque numérique peut être binaire (0b...), décimal, hexadécimal (0x...), octal (0o...) ou binaire (). BinData Dans une liste de positions de bits, la position du bit le moins significatif est 0.

Exemple (MongoDB Shell)

L'exemple suivant montre comment utiliser l'$bitsAllSetopérateur pour rechercher des documents dans lesquels le flags champ contient tous les bits définis par le masque de bits.

Création d'exemples de documents

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

Exemple de requête

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

Sortie

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

Dans cet exemple, la requête vérifie les documents pour lesquels le flags champ contient tous les bits définis par le masque de bits 0b1100 (qui représente la valeur décimale 12). Les documents contenant _id 2 et 3 répondent à ce critère, car les valeurs de leurs flags champs comportent tous les bits requis définis (les 3e et 4e bits les moins significatifs).

Exemples de code

Pour afficher un exemple de code d'utilisation de la $bitsAllSet commande, choisissez l'onglet correspondant à la langue que vous souhaitez utiliser :

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