要在MongoDB objectIds上构建索引,我使用db.collection.ensureIndex({ _id: "hashed"})
。
这将生成集合索引的Number类型。这个算法是什么?是MD5吗?我将如何在ObjectID对象上调用它?
例如,我想做一些事情,例如从集合中拉出前10个_id哈希值,并将其用于处理。
答案 0 :(得分:0)
查看the file hasher.cpp in the MongoDB sourcecode,使用的哈希函数确实是MD5。
但是,MongoDB仅在内部使用这些哈希值。它不会将它们暴露给公共API。散列索引仅允许您查询确切的值。它是通过获取您的输入,在散列数据库中的索引字段时对其进行哈希处理,以及在表示索引的哈希表中搜索冲突来实现的。