

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.

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

L'indexOfBytes opérateur \$1 dans Amazon DocumentDB est utilisé pour trouver l'index de départ d'une sous-chaîne dans une chaîne, en fonction de la position des octets des caractères. Cela peut être utile lorsque vous travaillez avec des données texte susceptibles de contenir des caractères multi-octets, tels que ceux trouvés dans des scripts non latins.

**Paramètres**
+ `string`: chaîne de saisie à rechercher.
+ `substring`: La sous-chaîne à rechercher dans la chaîne d'entrée.
+ `[<start>]`: (facultatif) La position de départ (base zéro) de la recherche. Si ce n'est pas indiqué, la recherche commence au début de la chaîne.

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

L'exemple suivant illustre l'utilisation de `$indexOfBytes` pour trouver l'index du premier trait d'union dans un ensemble de chaînes représentant l'emplacement des bureaux.

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

```
db.people.insertMany([
  { "_id": 1, "Desk": "Düsseldorf-BVV-021" },
  { "_id": 2, "Desk": "Munich-HGG-32a" },
  { "_id": 3, "Desk": "Cologne-ayu-892.50" },
  { "_id": 4, "Desk": "Dortmund-Hop-78" }
]);
```

**Exemple de requête**

```
db.people.aggregate([
  { $project: { stateLocation: { $indexOfBytes: ["$Desk", "-"] } } }
]);
```

**Sortie**

```
{ "_id" : 1, "stateLocation" : 11 }
{ "_id" : 2, "stateLocation" : 6 }
{ "_id" : 3, "stateLocation" : 7 }
{ "_id" : 4, "stateLocation" : 8 }
```

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

Pour afficher un exemple de code relatif à l'utilisation de la `$indexOfBytes` 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 events = db.collection('people');

  const result = await db.collection('people').aggregate([
    { $project: { stateLocation: { $indexOfBytes: ["$Desk", "-"] } } }
  ]).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['people']
    
    result = list(db.people.aggregate([
        { '$project': { 'stateLocation': { '$indexOfBytes': ['$Desk', '-'] } } }
    ]))
    print(result)
    client.close()

example()
```

------