当项目做数据迁移或者初始化的时候,需要获取到以前的索引信息,针对于mongo来说,如何获取到索引列表??
具体导出格式:
mongodb的安装地址/bin/mongo IP:PORT/admin -u root -p GPzQRLtzSQvzijTs ./mongo_export.js > mongo.txt
IP 指的是mongo的连接地址
PORT指的是mongo的连接端口
user指的是mongo的连接账号
port指的是mongo的密码
mongo_export.js指的是mongo的导出js脚本
mongo.txt是用来存储导出mongo的索引列表
具体代码如下:
var db_name='dbname'
conn = new Mongo();
db = db.getSiblingDB(db_name);
joinStr = "*_*";
function findAllIndexes() {
// 获取所有表
let allCollections = db.getCollectionNames();
for (var colName of allCollections) {
let indexes = db.getCollection(colName).getIndexes();
// 输出表索引信息
print(colName, joinStr, JSON.stringify(indexes));
}
}
findAllIndexes();
从上面的代码可以看出,需要mongo来调用js脚本,来对现有的索引进行导出。
针对于导出的mongo索引,要注意几个点,脚本里面的dbname是指的你项目需要导出的数据库名称。脚本是没办法直接使用的。切记!!!!