2

我需要(在 MongoDB 的 C# 驱动程序中)获取连接到我的Mongo-s. 或者,如果做不到这一点,我会选择一种方法来获取所有服务器,并通过一种方法来逐个检查它们,哪些是 configsvr,哪些是其他东西。我在考虑这个getShardMap命令,但我仍然不知道如何(以编程方式)查看服务器并决定它是否是configsvr

谢谢。

4

2 回答 2

5
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 服务器的配置字符串。您可以解析字符串以获取配置服务器列表。

于 2014-02-21T21:38:54.427 回答
0

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

db.RunCommand("getCmdLineOpts");
于 2012-09-06T14:17:33.853 回答