MongoDB 여러 컬렉션 한번에 샤드 적용
샤드키 _id기준
hash로 샤드 인덱스 생성
db.컬렉션명.createIndex({"_id": "hashed"})
sh.shardCollection("db명.컬렉션명", {"_id": "hashed"})
여러개 컬렉션 적용 (몽고 쉘에서 실행)
//적용할 컬렉션
var collections = ['gmktLogisItemRegIf', 'wmsAcntrLogisItemHist', 'payEvtHist', 'gnrlItemMapping', 'logisItemHist','logisGnrlItemMpngHist','itemGthrReqInfoIf','itemExceptionLog','lnkgLogisItemHist','urcyWhoutStopIf','lnkgItemHist'];
for (var i = 0; i < collections.length; i++) {
var collectionName = collections[i];
if (collectionName !== 'system.indexes' && !collectionName.startsWith('.') && !collectionName.endsWith('.')) {
var indexName = "_id_hashed";
db[collectionName].createIndex({ "_id": "hashed" }, { name: indexName });
sh.shardCollection("sfcdb." + collectionName , {"_id": "hashed"});
}
}
추가) 몽고 Compass에서 몽고 쉘 실행법 (MongoDB Compass Version 1.44.4 (1.44.4) 기준)
해당 쉘에서 스크립트 실행