Definição
$toHashedIndexKeyCalcula e retorna o valor de hash da expressão de entrada usando a mesma função de hash que o MongoDB usa para criar um índice hash. Uma função de hash mapeia uma chave ou string para um valor numérico de tamanho fixo.
Observação
Ao contrário dos índices com hash, o operador de agregação
$toHashedIndexKeynão leva em conta o agrupamento. Isso significa que o operador pode produzir um hash que não corresponde ao de um índice hashed com base nos mesmos dados.
Sintaxe
$toHashedIndexKey tem a seguinte sintaxe:
{ $toHashedIndexKey: <key or string to hash> }
Exemplo
Você pode usar $toHashedIndexKey para calcular o valor hash de uma string em uma aggregation pipeline. Este exemplo calcula o valor hash da string "string to hash":
db.aggregate( [ { $documents: [ { val: "string to hash" } ] }, { $addFields: { hashedVal: { $toHashedIndexKey: "$val" } } } ] )
Saída de exemplo:
[ { val: 'string to hash', hashedVal: Long("763543691661428748") } ]
Saiba mais
Para hash de uso geral em um pipeline de agregação , consulte $hash $hexHashe. Esses operadores diferem de $toHashedIndexKey como segue:
$hashe são expressões de hash de uso geral. As expressões$hexHashretornamnullquando a entrada énullou ausente.$toHashedIndexKeyaplica semântica de índice com hash. Ao contrário de$hashe$hexHash, ele faz hashesnulle valores ausentes em um valor numéricoLongem vez de retornarnull.
Para saber mais, consulte: