MongoDB使用什么算法来散列ObjectIds?

时间:2014-12-16 19:28:54

标签: algorithm mongodb

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

这将生成集合索引的Number类型。这个算法是什么?是MD5吗?我将如何在ObjectID对象上调用它?

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

1 个答案:

答案 0 :(得分:0)

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

但是,MongoDB仅在内部使用这些哈希值。它不会将它们暴露给公共API。散列索引仅允许您查询确切的值。它是通过获取您的输入,在散列数据库中的索引字段时对其进行哈希处理,以及在表示索引的哈希表中搜索冲突来实现的。