MongoDB聚合运算符:$toHashedIndexKey

MongoDB聚合运算符:$toHashedIndexKey

文章目录

$toHashedIndexKey计算并返回输入表达式的哈希值,其使用的哈希函数与MongoDB创建哈希索引相同。哈希函数将键值或字符串映射到固定大小的数值。

语法

js 复制代码
{ $toHashedIndexKey: <key or string to hash> }

举例

角度的双曲正切

使用下面的脚本创建trigonometry集合,包含一个文档,存储了以度为单位的角度:

在聚合管道中,可以使用$toHashedIndexKey计算字符串的散列值。本例计算字符串"string to hash"的散列值:

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

执行的结果为:

js 复制代码
[ { val: 'string to hash', hashedVal: Long("763543691661428748") } ]

**注意:**与散列索引不同,$toHashedIndexKey聚合操作符不考虑排序规则,这意味着该操作符产生的哈希值可能与基于相同数据的哈希索引的哈希值不一致。

相关推荐
星恒随风3 分钟前
C++ 哈希详解(二):开放定址、哈希桶与 C++ 哈希表底层实现
c++·笔记·学习·哈希算法·散列表
lingran__32 分钟前
C++ STL unordered系列(哈希) 底层剖析与模拟实现万字详解 | 基于哈希表,复刻 SGI-STL 泛型哈希容器架构
开发语言·c++·后端·哈希算法·哈希表·泛型编程·unordered系列
Hugh-Yu-13012334 分钟前
zhangxuefeng-skill配置教程
数据库
布莱克60536 分钟前
理解B+树:原理、特性与应用场景
数据结构·数据库·mysql
冰暮流星39 分钟前
mysql之排序查询
数据库·mysql
71777742 分钟前
让权限治理成为可复制资产:Gitee Team 空间配置方案与安全级别落地详解
数据库·gitee
今天AI了吗1 小时前
Agent & AI 名词大扫盲
数据库·人工智能·python·sql·rust
2603_966437262 小时前
格式化之后数据还能恢复吗?说清恢复条件
linux·运维·数据库
晚风叙码2 小时前
C++哈希表实现:开放定址法和链地址法 (哈希桶)
数据结构·c++·哈希算法·散列表
倔强的石头1062 小时前
时序数据库的难题不只在写入速度
数据库·时序数据库