要在 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/