algorithm - MongoDB 使用什么算法来散列 ObjectId?

标签 algorithm mongodb

要在 MongoDB objectIds 上建立索引,我使用 db.collection.ensureIndex({ _id: "hashed"})

这会生成一个数字类型,该集合在该类型上建立索引。这个算法是什么?是MD5吗?我如何在 ObjectID 对象上调用它?

例如,我想做一些事情,比如从集合中提取前 10 个 _id 哈希值,并将其用于处理。

最佳答案

查看the file hasher.cpp in the MongoDB sourcecode ,使用的散列函数确实是MD5。

但是,MongoDB 仅在内部使用这些散列。它不会将它们暴露给公共(public) API。散列索引只允许您查询精确值。为此,它会获取您的输入,在对数据库中的索引字段进行哈希处理时对其进行哈希处理,并在代表索引的哈希表中搜索冲突。

关于algorithm - MongoDB 使用什么算法来散列 ObjectId?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27512425/

相关文章:

node.js - 根据分页在子项中对父项的引用查找文档

mongodb - 如何发现 mongodb 数据库结构

node.js - Mongoose 如何在 update/findOneAndUpdate 时验证类型和值

c++ - 寻找 abs(A[i]+A[j]-k) 最小值的算法

algorithm - 如何有效地检查路径是否在一系列边界框内?

java - 异加数问题贪心算法

node.js - 如何在 mongodb 中聚合使用 $match 作为可选参数

java - Java 中的分区函数 NullPointerException

c# - 帮助进行 Shannon-Fano 编码

PHP连接远程Parse MongoDB; cURL 在命令行上工作,但 PHP file_get_contents 不工作