使用命令行工具,如何从 MongoDB 数据库中的所有集合中删除所有索引?
以下是使用命令行从 MongoDB 数据库中的所有集合中删除所有索引的语法
db.getCollectionNames().forEach(function(yourVariableName) {
db.runCommand({dropIndexes: yourVariableName, index: "*"});
});上述语法将删除除了_id外的所有索引。
检查当前数据库。以下是查询
> db
这将生成以下输出
Test
以下是删除索引之前从集合中显示某些索引的查询
> db.indexingDemo.getIndexes();
这将生成以下输出
[
{
"v" : 2,
"key" : {
"_id" : 1
},
"name" : "_id_",
"ns" : "test.indexingDemo"
},
{
"v" : 2,
"key" : {
"StudentFavouriteSubject" : 1
},
"name" : "StudentFavouriteSubject_1",
"ns" : "test.indexingDemo",
"background" : true
}
]以下是删除 MongoDB 数据库中所有集合的所有索引的查询
> db.getCollectionNames().forEach(function(allCollectionName) {
... db.runCommand({dropIndexes: allCollectionName, index: "*"});
... });以下是检查是否已删除索引的查询
> db.indexingDemo.getIndexes();
这将生成以下输出
[
{
"v" : 2,
"key" : {
"_id" : 1
},
"name" : "_id_",
"ns" : "test.indexingDemo"
}
]查看以上样本输出,已成功删除索引。
广告
Data Structure
Networking
RDBMS
Operating System
Java
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP