$bitsAnyClear - 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.

$bitsAnyClear

L'$bitsAnyClearopérateur dans Amazon DocumentDB est utilisé pour faire correspondre les documents dans lesquels l'un des bits spécifiés dans un champ est effacé (défini sur 0). Cela peut être utile pour effectuer des opérations au niveau du bit sur des valeurs de champ stockées dans des documents.

Paramètres

  • field: Le champ à vérifier.

  • 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 de bits 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'$bitsAnyClearopérateur pour vérifier si un bit est libre dans le status champ de la items collection.

Création d'exemples de documents

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

Exemple de requête

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

Sortie

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

Dans cet exemple, la requête recherche les documents dont le status champ contient des bits vides (0) dans le masque de bits 8 (binaire1000). Le document dont status les valeurs sont 7 (binaire111) correspond à la requête, car le masque de bits fourni contient au moins un bit clair. Le bit clair correspondant est le quatrième bit le moins significatif.

Exemples de code

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

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