

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.

# \$1bitsAllSet
<a name="bitsAllSet"></a>

L'`$bitsAllSet`opé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)
<a name="bitsAllSet-examples"></a>

L'exemple suivant montre comment utiliser l'`$bitsAllSet`opé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
<a name="bitsAllSet-code"></a>

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

------