翻译或纠错本页面
修改索引¶
如果希望修改一条索引,您需要删除然后重建它。
1
建立一个唯一索引¶
使用 ensureIndex() 方法创建一个唯一索引。
db.orders.ensureIndex(
{ "cust_id" : 1, "ord_date" : -1, "items" : 1 },
{ unique: true }
)
该方法会返回一个文档,带有操作结果的状态。该方法只有当该索引不存在时才有建立一条索引。参见 创建一个索引 和 索引创建教程 了解更多关于创建索引的信息。
2
尝试修改索引¶
您 不能 直接通过再次输入 ensureIndex() 命令并指定新的索引明细的方式来修改现有的索引。
例如,如下操作使用 ensureIndex() 方法,尝试取消对前文所创建的索引的 唯一性 的限制。
db.orders.ensureIndex(
{ "cust_id" : 1, "ord_date" : -1, "items" : 1 }
)
这个操作返回的状态文档表明发生错误。
3
4
重建没有 唯一性 限制的索引¶
重建没有 唯一性 限制的索引
db.orders.ensureIndex(
{ "cust_id" : 1, "ord_date" : -1, "items" : 1 }
)
该方法会返回一个文档,带有操作结果的状态。如果操作成功,文档中的 numIndexesAfter 键会比 numIndexesBefore 键大一。