sql >> データベース >  >> NoSQL >> MongoDB

コマンドを使用してmongodbデータとログファイルの場所を見つける方法は?

    最も簡単な方法は、おそらくgetCmdLineOptsを使用することです。 コマンド:

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

    このMongoShellコマンドは、最初にadminに切り替わります。 次に、データベースでgetCmdLineOptsを実行します。 指図。別の方法はシェルラッパーです:

    db.serverCmdLineOpts()
    

    これらは、解析されたコマンドラインオプションを返します。これには、使用されているデータディレクトリとログパスの両方が含まれている必要があります。

    {
            "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
    }
    

    注:パスを難読化しました。通常、パスには****が含まれていません。

    生の値と解析された値の両方を提供していることがわかります。コマンドラインオプションと設定ファイルオプションの両方がコマンドラインで指定されている場合、これはプロセスによって使用されている有効な値を示します。 いくつかの追加オプション> これは、データの保存場所に影響を与える可能性がありますが、これにより、かなり迅速に作業を進めることができます。

    Mongo Shellを使用せずにこの情報を知りたい場合は、構成ファイルをgrepするか、実行中のプロセスのコマンドラインオプションを確認するか、またはその両方を行う必要があります。



    1. PythonとRedis:マネージャー/ワーカーアプリケーションのベストプラクティス

    2. Casbah / Java MongoDBドライバーに対してjava.lang.IllegalArgumentExceptionが発生するのはなぜですか?

    3. MongoDBのデータの非正規化

    4. mongodbで複数のフィールドを一緒に並べ替える