我有一个集合,目前是通过内置的 "_id" (ObjectId) 进行索引/查询的。由于它是连续的(以日期为前缀),我不想在这个键上进行分片。Mongo 2.4的文档说我可以对这个键的哈希值进行分片,这听起来很棒。如下所示:
sh.shardCollection("records.active", { _id: "hashed" })
问题:我是否必须首先在活动集合上创建哈希索引?使用以下命令:
db.active.ensureIndex({_id: "hashed"})
还是不需要?我不想浪费更多的空间来进行额外的索引。
相关问题:如果我确实使用 ensureIndex({ _id: "hashed"}) 创建了一个哈希索引,那么我能否删除默认的 "id" 索引?Mongo会知道对 _id 字段的查询应该哈希并运行它们吗?
谢谢...