

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.

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

L'`$bit`opérateur d'Amazon DocumentDB vous permet d'effectuer des opérations binaires sur les bits d'un champ donné. Cela peut être utile pour des tâches telles que le réglage, l'effacement ou la vérification de l'état de bits individuels au sein d'un nombre.

**Paramètres**
+ `field`: champ sur lequel effectuer des opérations au niveau du bit.
+ `and`: valeur entière utilisée pour effectuer une opération ET au niveau du bit sur le terrain.
+ `or`: valeur entière utilisée pour effectuer une opération OR au niveau du bit sur le terrain.
+ `xor`: valeur entière utilisée pour effectuer une opération XOR bit à bit sur le terrain.

## Exemple (MongoDB Shell)
<a name="bit-examples"></a>

L'exemple suivant montre comment utiliser l'`$bit`opérateur pour effectuer des opérations au niveau du bit sur un champ numérique.

**Création d'exemples de documents**

```
db.numbers.insert([
  { "_id": 1, "number": 5 },
  { "_id": 2, "number": 12 }
])
```

**Exemple de requête**

```
db.numbers.update(
  { "_id": 1 },
  { "$bit": { "number": { "and": 3 } } }
)
```

**Sortie**

```
{
  "_id": 1,
  "number": 1
}
```

Dans cet exemple, l'`$bit`opérateur est utilisé pour effectuer une opération AND bit à bit sur le champ « numéro » du document avec le `_id` chiffre 1. Le résultat est que la valeur du champ « numéro » est définie sur 1, résultat de l'opération AND bit à bit entre la valeur initiale de 5 et la valeur 3.

## Exemples de code
<a name="bit-code"></a>

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

------
#### [ 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('numbers');

  await collection.updateOne(
    { "_id": 1 },
    { "$bit": { "number": { "and": 3 } } }
  );

  const result = await collection.findOne({ "_id": 1 });
  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['numbers']

collection.update_one(
    {"_id": 1},
    {"$bit": {"number": {"and": 3}}}
)

result = collection.find_one({"_id": 1})
print(result)

client.close()
```

------