在mongo,你能重建一个单独的索引吗?
In mongo, can you rebuild one single index?
在mongo中,你可以用
重建所有索引
db.collection.reIndex()
但是有没有办法重建单个索引?
谢谢,
凯文
The db.collection.reIndex() drops all indexes on a collection and recreates them. This operation may be expensive for collections that have a large amount of data and/or a large number of indexes.
这是一个非常昂贵的操作,并且会在持续时间内阻止对集合的所有操作。
Use dropIndex to remove one Index and createIndex to create it back as rebuildIndex is not supported for only one index
从 5.0 开始,reIndex
将仅限于独立实例。
通过以下方式识别所有索引:
db.collection.getIndexes();
找到您要重建的那个,例如:
{
"v" : 2,
"key" : {
"fld1" : 1,
"fld2" : -1
},
"name" : "fld1_1_fld2_-1"
}
“安全地”删除并使用显式规范而不是名称重建:
var idx={fld1:1,fld2:-1};db.collection.dropIndex(idx);db.collection.createIndex(idx);
在mongo中,你可以用
重建所有索引db.collection.reIndex()
但是有没有办法重建单个索引?
谢谢, 凯文
The db.collection.reIndex() drops all indexes on a collection and recreates them. This operation may be expensive for collections that have a large amount of data and/or a large number of indexes.
这是一个非常昂贵的操作,并且会在持续时间内阻止对集合的所有操作。
Use dropIndex to remove one Index and createIndex to create it back as rebuildIndex is not supported for only one index
从 5.0 开始,reIndex
将仅限于独立实例。
通过以下方式识别所有索引:
db.collection.getIndexes();
找到您要重建的那个,例如:
{
"v" : 2,
"key" : {
"fld1" : 1,
"fld2" : -1
},
"name" : "fld1_1_fld2_-1"
}
“安全地”删除并使用显式规范而不是名称重建:
var idx={fld1:1,fld2:-1};db.collection.dropIndex(idx);db.collection.createIndex(idx);