[MongoDB] .mongoshrc.js

DataBase 2024. 2. 19. 17:52

 

 

mongosh가 실행될 때 읽어들이는 파일.

각종 설정이나 전처리, 자주 사용하는 snippet 등을 미리 등록해 놓으면 편함.

경로는 ~/.mongoshrc.js

 

 

아래는 몇가지 예제.

 

// 각종 설정
// https://www.mongodb.com/docs/mongodb-shell/reference/configure-shell-settings/
config.set("enableTelemetry", false);
config.set("editor", "vi");
config.set("inspectDepth", Infinity);
 
 
 
// 인증 자동처리 (이렇게 해두면 mongosh 접속시 해당 DB에 인증된 상태로 사용가능
db.getSiblingDB('my_db').auth('user_id', 'password');
 
 
 
// 자주 쓰는 snippet 등록
// 특정 DB의 모든 컬렉션의 document 카운트 출력 (config DB에 접근권한 필요)
function countDocumentList()
{
    db.getSibling('config').collections.find({_id:/^my_db./}).forEach((col)=>{
        const colName = col._id.split('.')[1];
        cont cnt = db.getCollection(colName).estimatedDocumentCount();
 
        print(`${colName} = ${cnt}`);
    });
}
 
 
// 프롬프트 변경
{
    const hostnameSymbol = Symbol('hostname');
    prompt = () => {
        if (!db[hostnameSymbol]) {
            db[hostnameSymbol] = db.serverStatus.host;
        }
 
        return `${db.getName()}@${db[hostnameSymbol]}>`;
    }
}

 

 

 

 

 

Posted by bloodguy
,