OPTIONS
翻译或纠错本页面

哈希索引

2.4 新版功能.

哈希索引项中存储的是被索引键的哈希值。哈希函数会折叠子文档并计算整体值的哈希值,但是不支持多键(比如数组)索引。

哈希索引支持根据 a 哈希分片键 的方式对集合 分片 。使用哈希分片键来对集合分片,可以确保数据的更均匀的分布。参见 使用哈希片键对集合分片 了解更多详情。

MongoDB可以使用 哈希 索引来支持相等查询,但是 哈希 索引不支持范围查询。

您可能无法创建一个带有 哈希 索引键的复合索引或者对 哈希 索引施加唯一性的限制。但是,您可以在同一个键上同时创建一个 哈希 索引和一个递增/递减(例如,非哈希)的索引,这样MongoDB对于范围查询就会自动使用非哈希的索引。

警告

MongoDB的 哈希 索引会在哈希前将浮点数字截断为64位整数。例如,如果一个键上存储的值是 2.3, 2.2, 或者 2.9 ,哈希索引存储的哈希值会是一样的。为了避免冲突,请不要对浮点数字使用 哈希 索引,如果这个这个数组无法可靠的转换到64位整数(然后再转换回浮点数字)。MongoDB 哈希 索引不支持大于 253 的浮点数字。

创建 哈希 索引,如下操作所示:

db.active.ensureIndex( { a: "hashed" } )

上述操作在 ``

←   文本索引 索引属性  →
ON THIS PAGE