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聚合操作符不考虑排序规则,这意味着该操作符产生的哈希值可能与基于相同数据的哈希索引的哈希值不一致。

相关推荐
爱写代码的阿森4 分钟前
鸿蒙三方库 | harmony-utils之KvUtil键值型数据库操作详解
数据库·华为·harmonyos·鸿蒙·huawei
Database_Cool_22 分钟前
单机 MySQL 迁移到分布式数据库方便吗?阿里云 PolarDB-X 100% MySQL 协议兼容零改造平滑迁移
数据库·分布式·mysql
姜太小白1 小时前
【MySQL】 索引优化实战:解决 WHERE 等值 + IS NULL 查询,TEXT 字段报错 1167 的完整指南
数据库·mysql
窝子面2 小时前
手搓最简前后端协作-node
javascript·数据库
吳所畏惧2 小时前
宝塔面板Redis密码修改指南:SSH命令修改 vs 面板UI界面修改,哪个更靠谱?
运维·服务器·数据库·redis·缓存·ssh
DFT计算杂谈2 小时前
无 Root 权限在 Tesla K80 零门槛部署 DeepSeek 大模型
linux·服务器·网络·数据库·机器学习
HPFBoy2 小时前
log4net 数据库存日志正确配置
数据库
liuxiaowei32 小时前
【绝版教程】新版MySQL DBA高级实战进阶班 MySQL8.0 姜承尧-腾讯数据库总监
数据库·mysql·dba
破碎的南瓜3 小时前
sqli--sql注入过关笔记(1,2,3,4,5,9)
数据库·笔记·sql