$indexOfBytes - Amazon DocumentDB

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

$indexOfBytes

L'indexOfBytes operatore $ in Amazon DocumentDB viene utilizzato per trovare l'indice iniziale di una sottostringa all'interno di una stringa, in base alle posizioni in byte dei caratteri. Questo può essere utile quando si lavora con dati di testo che possono contenere caratteri multibyte, come quelli presenti negli script non latini.

Parametri

  • string: La stringa di input da cercare.

  • substring: La sottostringa da cercare all'interno della stringa di input.

  • [<start>]: (opzionale) La posizione iniziale (in base zero) della ricerca. Se non viene specificato, la ricerca inizia all'inizio della stringa.

Esempio (MongoDB Shell)

L'esempio seguente dimostra l'uso di $indexOfBytes per trovare l'indice del primo trattino in un insieme di stringhe che rappresentano le posizioni delle scrivanie.

Crea documenti di esempio

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" } ]);

Esempio di interrogazione

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

Output

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

Esempi di codice

Per visualizzare un esempio di codice per l'utilizzo del $indexOfBytes comando, scegliete la scheda relativa alla lingua che desiderate utilizzare:

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