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]}>`;
    }
}
[참고]
https://www.mongodb.com/docs/mongodb-shell/mongoshrc/
'DataBase' 카테고리의 다른 글
| [MongoDB] mongosh에서 JavaScript 사용하기 (0) | 2024.02.27 | 
|---|---|
| [MongoDB] mongosh editor (0) | 2024.02.20 | 
| [MongoDB] Schema Validation (스키마 유효성 검사) (0) | 2023.07.19 | 
| [MongoDB] collection에 해당하는 chunk 리스트 가져오기 (get chunks list from config.chunks) (0) | 2023.07.13 | 
| [MongoDB] Time Series Collection (0) | 2023.07.11 | 

