Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

$toHashedIndexKey (expression operator)

$toHashedIndexKey

Computes and returns the hash value of the input expression using the same hash function that MongoDB uses to create a hashed index. A hash function maps a key or string to a fixed-size numeric value.

Note

Unlike hashed indexes, the $toHashedIndexKey aggregation operator does not account for collation. This means the operator can produce a hash that does not match that of a hashed index based on the same data.

$toHashedIndexKey has the following syntax:

{ $toHashedIndexKey: <key or string to hash> }

You can use $toHashedIndexKey to compute the hashed value of a string in an aggregation pipeline. This example computes the hashed value of the string "string to hash":

db.aggregate(
[
{ $documents: [ { val: "string to hash" } ] },
{ $addFields: { hashedVal: { $toHashedIndexKey: "$val" } } }
]
)

Example output:

[ { val: 'string to hash', hashedVal: Long("763543691661428748") } ]

For general-purpose hashing in an aggregation pipeline, see $hash and $hexHash. These operators differ from $toHashedIndexKey as follows:

  • $hash and $hexHash are general-purpose hashing expressions. The expressions return null when the input is null or missing.

  • $toHashedIndexKey applies hashed index semantics. Unlike $hash and $hexHash, it hashes null and missing values to a Long numeric value rather than returning null.

To learn more, see:

Back

$toDouble

On this page