【发布时间】:2013-09-10 12:49:53
【问题描述】:
我的收藏中有一个名为 people 的复合索引,如下所示
db.people.getIndexes()
[
{
"name" : "_id_",
"ns" : "at.people",
"key" : {
"_id" : 1
}
},
{
"_id" : ObjectId("521dd652a185d3defe301983"),
"ns" : "at.people",
"key" : {
"personname" : 1,
"email" : 1,
"sex" : 1,
"course" : 1
},
"name" : "personname_1_email_1_sex_1_course_1",
"unique" : false
}
]
我正在尝试以这种方式删除此索引
db.people.dropIndex({"personname_1_email_1_sex_1_course_1": 1})
但我收到错误消息
{ "errmsg" : "索引未找到", "ok" : 0 }
我也尝试按名称删除索引
db.people.dropIndex( { "name" : "personname_1_email_1_sex_1_course_1" } )
我知道我可以使用以下命令一次性删除集合中的索引
db.people.dropIndexes()
请告诉我如何解决这个问题?
【问题讨论】:
-
你应该这样删除它:
db.people.dropIndex({personname:1,email:1,sex:1,course:1}) -
谢谢,上面的命令会删除该字段上的其他单个索引吗?例如,我有一个单独的索引作为 db.people.ensureIndex({"personname" : 1}, {"unique" : false})
-
不,只会删除那个。
标签: mongodb