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 |