微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

C#MongoDb连接到副本集问题

根据 mongodb网站,如果我只是从副本集中给它一个成员,我应该能够连接到副本集:

“即使种子列表不完整,C#驱动程序也能够连接到副本集.只要种子列表中至少有一个服务器响应,它就会找到主服务器,即使它不在种子列表中也是如此(响应将包含完整副本集和当前主副本的名称.“ http://www.mongodb.org/display/DOCS/CSharp+Driver+Tutorial#CSharpDriverTutorial-Connectionstrings

但是,如果我只是给它一个次要成员,我就无法让我的驱动程序连接.

这是我目前的连接声明:

m_server = MongoServer.Create(new MongoServerSettings {ConnectionMode = ConnectionMode.replicaset,Server = new MongoServerAddress(connection)});

‘connection’变量是:mongodb:// servername /?safe = true

我看到了这个:https://jira.mongodb.org/browse/CSHARP-500,我确实运行了rs.status(),并且确实使用了正确的服务器名称.任何帮助表示赞赏!

解决方法

因此,连接变量是一个完整的连接字符串,而不是传递给MongoServerAddress的东西.此外,您还可以在连接字符串上指定连接模式.试试这个:

connection = "mongodb://servername/?safe=true&connect=replicaset";
m_server = MongoServer.Create(connectionString);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐