需要配置服务器列表MongoDB

时间:2012-09-06 13:57:22

标签: mongodb

我需要(在MongoDB的C#驱动程序中)获取连接到Mongo-s实例的所有配置服务器的列表。或者,如果失败了,我会选择一种方法来获取所有服务器,并逐一介绍它们,告诉哪些是configsvr,哪些是其他的。我在考虑getShardMap命令,但我仍然不知道如何查看服务器(以编程方式)并确定它是否为configsvr

感谢。

2 个答案:

答案 0 :(得分:4)

mongos> db.runCommand("getShardMap")
{
    "map" : {
        "node2:27021" : "node2:27021",
        "node3:27021" : "node3:27021",
        "node4:27021" : "node4:27021",
        "config" : "node2:27019,node3:27019,node4:27019",
        "shard0000" : "node2:27021",
        "shard0001" : "node3:27021",
        "shard0002" : "node4:27021"
    },
    "ok" : 1
}

getShardMap命令提供传递给mongos服务器的配置字符串。您可以解析字符串以获取配置服务器列表。

答案 1 :(得分:0)

我能想到获取此信息的唯一方法是在mongos上运行getCmdLineOpts命令并查看它传递的--configdb参数。我不确定你是如何在C#驱动程序中运行管理命令的,但我想它是这样的:

db.RunCommand("getCmdLineOpts");