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á.
$substrBytes
O $substrBytes operador no Amazon DocumentDB é usado para extrair uma substring de uma string com base em um intervalo de bytes especificado. Esse operador é útil quando você precisa extrair uma substring de uma string e o número de bytes necessários para representar cada caractere na string é importante.
Diferentemente$substrCP, que opera com base no número de pontos de código Unicode, $substrBytes opera no número de bytes necessários para representar os caracteres na string. Isso pode ser particularmente útil ao trabalhar com cadeias de caracteres que contêm caracteres não ASCII, pois esses caracteres podem exigir mais de um byte para serem representados.
*Nota: * está obsoleto $substr desde a versão 3.4. $substragora é um alias para$substrBytes.
Parâmetros
-
string: a string de entrada da qual a substring será extraída. -
startByte: A posição do byte inicial com base em zero da substring a ser extraída. Um valor negativo pode ser usado para especificar uma posição a partir do final da string. -
length: o número de bytes na substring a ser extraída.
Exemplo (MongoDB Shell)
Neste exemplo, usaremos $substrBytes para extrair uma substring de uma string que contém caracteres não ASCII.
Crie documentos de amostra
db.people.insertMany([ { "_id": 1, "Desk": "Düsseldorf-NRW-021" }, { "_id": 2, "Desk": "Bremerhaven-HBB-32a" }, { "_id": 3, "Desk": "Norderstedt-SHH-892.50" }, { "_id": 4, "Desk": "Brandenburg-BBB-78" } ]);
Exemplo de consulta
db.people.aggregate([ { $project: { "state": { $substrBytes: [ "$Desk", 12, 3] } } } ])
Saída
{ "_id": 1, "state": "NRW" },
{ "_id": 2, "state": "HBB" },
{ "_id": 3, "state": "SHH" },
{ "_id": 4, "state": "BBB" }
Neste exemplo, usamos $substrBytes para extrair uma substring de 3 bytes a partir do 12º byte do campo. Desk Isso nos permite extrair a abreviatura de estado de 2 caracteres, mesmo que a string possa conter caracteres não ASCII.
Exemplos de código
Para ver um exemplo de código para usar o $substrBytes comando, escolha a guia do idioma que você deseja usar: