$indexOfBytes - Amazon DocumentDB

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

$indexOfBytes

O indexOfBytes operador $ no Amazon DocumentDB é usado para encontrar o índice inicial de uma substring dentro de uma string, com base nas posições dos bytes dos caracteres. Isso pode ser útil ao trabalhar com dados de texto que podem conter caracteres de vários bytes, como aqueles encontrados em scripts não latinos.

Parâmetros

  • string: A string de entrada a ser pesquisada.

  • substring: a substring a ser pesquisada na string de entrada.

  • [<start>]: (opcional) A posição inicial (com base em zero) da pesquisa. Se não for especificado, a pesquisa começa no início da string.

Exemplo (MongoDB Shell)

O exemplo a seguir demonstra o uso de $indexOfBytes para encontrar o índice do primeiro caractere de hífen em um conjunto de cadeias de caracteres representando a localização das mesas.

Crie documentos de amostra

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

Exemplo de consulta

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

Saída

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

Exemplos de código

Para ver um exemplo de código para usar o $indexOfBytes comando, escolha a guia do idioma que você deseja usar:

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