我需要(在 MongoDB 的 C# 驱动程序中)获取连接到我的Mongo-s
. 或者,如果做不到这一点,我会选择一种方法来获取所有服务器,并通过一种方法来逐个检查它们,哪些是 configsvr,哪些是其他东西。我在考虑这个getShardMap
命令,但我仍然不知道如何(以编程方式)查看服务器并决定它是否是configsvr
。
谢谢。
我需要(在 MongoDB 的 C# 驱动程序中)获取连接到我的Mongo-s
. 或者,如果做不到这一点,我会选择一种方法来获取所有服务器,并通过一种方法来逐个检查它们,哪些是 configsvr,哪些是其他东西。我在考虑这个getShardMap
命令,但我仍然不知道如何(以编程方式)查看服务器并决定它是否是configsvr
。
谢谢。
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 服务器的配置字符串。您可以解析字符串以获取配置服务器列表。
我能想到的获取此信息的唯一方法是在 mongos 上运行 getCmdLineOpts 命令并查看它传递的 --configdb 参数。我不确定你如何在 C# 驱动程序中运行管理命令,但我想它是这样的:
db.RunCommand("getCmdLineOpts");