mongodb 生成同步索引腳本

導出mongo索引mongodb

今天使用mongoshake工具同步mongodb
發現索引不能同步,因此找了一個同步索引腳本ide

在源庫執行這個腳本工具

var collectionList = db.getCollectionNames();
for(var index in collectionList){
    var collection = collectionList[index];
    var cur = db.getCollection(collection).getIndexes();
    if(cur.length == 1){
        continue;
    }
    for(var index1 in cur){
    var next = cur[index1];
    if(next["key"]["_id"] == '1'){
        continue;
    }
    print(
    "try{ db.getCollection(\""+collection+"\").ensureIndex("+JSON.stringify(next.key)+",{background:1, unique:" + (next.unique || false) + "" + (next.expireAfterSeconds > 0 ? ", expireAfterSeconds :" + next.expireAfterSeconds  : "") + " })}catch(e){print(e)}")}}

結果如圖ui

mongodb 生成同步索引腳本

在目標庫執行查出的結果.net

try{ db.getCollection("mongodb_log").ensureIndex({"@timestamp":1,"ip":1},{background:1, unique:false })}catch(e){print(e)}
try{ db.getCollection("mycat").ensureIndex({"@timestamp":1,"ip":1},{background:1, unique:false })}catch(e){print(e)}
try{ db.getColle
......
try{ db.getCollection("test").ensureIndex({"uid":-1},{background:1, unique:false })}catch(e){print(e)}

mongodb 生成同步索引腳本

不能白漂,感謝楊、懟懟 和 popsidelee
轉載至
https://blog.csdn.net/qq_22956867/article/details/102917841
https://blog.csdn.net/badyting/article/details/84753790code

相關文章
相關標籤/搜索