MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Come trovare i dati di mongodb e la posizione dei file di registro tramite il comando?

Il modo più semplice è probabilmente con getCmdLineOpts comando:

db.getSiblingDB("admin").runCommand({getCmdLineOpts:1})

Questo comando Mongo Shell passerà prima all'admin database quindi eseguire getCmdLineOpts comando. Un'alternativa è il wrapper della shell:

db.serverCmdLineOpts()

Questi restituiranno le opzioni della riga di comando analizzate, che dovrebbero contenere sia la directory dei dati utilizzata sia il percorso del registro.

{
        "argv" : [
                "C:\\****\\3.4.10\\bin\\mongod.exe",
                "--dbpath",
                "C:\\****\\data",
                "--port",
                "27017",
                "--logpath",
                "C:\\****\\data\\mongod.log",
                "--bind_ip",
                "0.0.0.0"
        ],
        "parsed" : {
                "net" : {
                        "bindIp" : "0.0.0.0",
                        "port" : 27017
                },
                "storage" : {
                        "dbPath" : "C:\\****\\data"
                },
                "systemLog" : {
                        "destination" : "file",
                        "path" : "C:\\****\\data\\mongod.log"
                }
        },
        "ok" : 1
}

Nota:ho offuscato i miei percorsi, normalmente non contengono **** .

Puoi vedere che fornisce sia i valori grezzi che i valori analizzati. Se nella riga di comando sono specificate sia le opzioni della riga di comando che le opzioni del file di configurazione, verranno visualizzati i valori effettivi utilizzati dal processo. Tieni presente che ci sono diverse opzioni extra ciò può influire sulla posizione in cui vengono archiviati i dati, ma questo dovrebbe portarti sulla buona strada abbastanza rapidamente.

Se desideri conoscere queste informazioni senza utilizzare Mongo Shell, dovrai eseguire il grep del file di configurazione o guardare le opzioni della riga di comando del processo in esecuzione, o entrambi.