【发布时间】:2013-03-18 22:10:07
【问题描述】:
我有一个当前由内置“_id”(ObjectId)索引/查询的集合。我不想在这个键上分片,因为它是顺序的(以日期为前缀)。 Mongo 2.4 的文档说我可以对这个键的哈希进行分片,这听起来很棒。像这样:
sh.shardCollection("records.active", { _id: "hashed" })
问题:我是否必须首先在活动集合上创建散列索引:
db.active.ensureIndex({ _id: "hashed" })
或者这不是必需的吗?我不想在不必要的索引上浪费空间。
相关问题:如果我确实使用 ensureIndex({ _id: "hashed"}) 创建了一个散列索引,我可以删除默认的“id”索引吗? Mongo 会知道对 _id 字段进行查询,对它们进行哈希处理并针对哈希索引运行它们吗?
谢谢...
【问题讨论】:
标签: mongodb