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

$indexOfBytes

L'indexOfBytes opérateur $ 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)

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

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