在MongoDB中,你能看到shell中的命令行参数吗?

时间:2013-10-16 15:04:13

标签: mongodb

我希望能够使用mongo.exe(或任何shell)连接到MongoDB实例,并以某种方式显示命令行 / config启动选项。 AFAIK,这不起作用,但这就是我的想法:

>startupOptions()

{
   dbpath: d:\data\mongo,
   logAppend: true,
   master: false,
   bindIp: 127.0.0.1,
   /* ... */
}

有什么想法吗?

2 个答案:

答案 0 :(得分:6)

我不确定你是否可以获得正在运行的shell的args,但是如果你正在寻找用于启动你所连接的节点的args,你可以执行以下操作...... < / p>

mongos> use admin
switched to db admin
mongos> db.runCommand("getCmdLineOpts")

这将返回一个BSONDocument,其中包含解析和未解析格式的参数。您无需连接到mongos即可使用,但您必须使用admin数据库。

答案 1 :(得分:2)

Kander的答案是完美的,这里只是为每个人提供更多信息:

> use admin
switched to db admin
> db.runCommand("getCmdLineOpts")
{
        "argv" : [
                "D:\\MongoDB\\program\\mongod.exe",
                "--config",
                "d:\\MongoDB\\config\\mongodb.config",
                "--service"
        ],
        "parsed" : {
                "bind_ip" : "127.0.0.1",
                "config" : "d:\\MongoDB\\config\\mongodb.config",
                "dbpath" : "D:\\data\\db",
                "directoryperdb" : "true",
                "logappend" : "true",
                "logpath" : "D:\\MongoDB\\logs\\mongodb-service.log",
                "rest" : "true",
                "service" : true
        },
        "ok" : 1
}

请注意,您同时获得命令行参数(argv)以及--config(parsed)中的值。