我有一个mongo(2.0.3)副本集。
如果我使用标准c#驱动程序连接到特定节点(即我的连接字符串不包含多个主机)并指定slaveOk(),该查询是否会被该集合的随机成员满足,或者仅我连接到的节点是什么?
如果是前者,我怎样才能实现后者?
谢谢。
答案 0 :(得分:3)
如果您的连接字符串只有一个主机名(并且没有replicaSet = name或connect = replicaSet),C#驱动程序将以直接模式连接到该服务器并仅使用它。
通过列出多个主机名(称为种子列表)或使用replicaSet = name或connect = replicaSet来触发副本集语义(它使用整个集合)。
因此,如果您只想使用那个主机,那么您就是在正确的轨道上。您必须在连接字符串上指定slaveOk,否则如果该服务器不是主服务器,则连接将失败。
答案 1 :(得分:1)
指定 connect = direct 作为连接字符串中的参数解决了我通过Powershell连接到辅助节点的问题。
答案 2 :(得分:0)
将ID | stmt_dt | renewal_dt
--
1 |1/31/15 | NA
1 |2/28/15 | 2/28/15
1 |3/31/15 | 2/28/15
1 |4/30/15 | 4/30/15
1 |5/31/15 | 4/30/15
2 |1/31/15 | NA
2 |2/28/15 | 2/28/15
2 |3/31/15 | 2/28/15
2 |4/30/15 | 2/28/15
2 |5/31/15 | 2/28/15
3 |1/31/15 | 1/31/15
3 |2/28/15 | 1/31/15
3 |3/31/15 | 1/31/15
3 |4/30/15 | 1/31/15
3 |5/31/15 | 1/31/15
4 |1/31/15 | NA
4 |2/28/15 | NA
4 |3/31/15 | NA
4 |4/30/15 | NA
4 |5/31/15 | NA
用于收集提供程序