OPTIONS
翻译或纠错本页面

创建旧式索引

重要

只有当您 必须 创建一个和早于2.0的MongoDB版本相匹配的索引时,您 应该使用这里的方法。

MongoDB从2.0版开始引入 {v:1} 索引格式。MongoDB2.0及其以后版本都支持 {v:1} 格式 和更早的 {v:0} 格式。

但是,早于2.0的MongoDB版本只支持 {v:0} 格式。如果您需要回滚MongoDB到一个早于2.0的版本,您必须删除并重建您的索引。

为了创建一个早于-2.0版的索引,您可以使用 dropIndexes()ensureIndex() 方法。您不能简单重新索引该集合。当您在只支持 {v:0} 索引的MongoDB版本上重新索引时,在索引定义中的 v 键依然保留着值 1 ,即使这个索引限制使用 {v:0} 格式。如果您再升级到版本2.0及以后,这些索引将不会正常工作。

例子

假设您从2.0回滚到1.8, 并假设您在 items 集合上有如下索引:

{ "v" : 1, "key" : { "name" : 1 }, "ns" : "mydb.items", "name" : "name_1" }

索引的 v 键表明这个索引是一个 {v:1} 索引,它无法和版本1.8相匹配。

要删除索引,请使用如下命令:

db.items.dropIndex( { name : 1 } )

创建一个 {v:0} 格式的索引,请使用如下命令:

db.foo.ensureIndex( { name : 1 } , { v : 0 } )
ON THIS PAGE