连接到mongos时的Mongodb连接字符串格式

时间:2014-06-04 07:39:56

标签: mongodb

使用mongodb节点驱动程序you can specify various options which are arranged in four hashes

连接到数据库时
  

db {Object,default:null}要在db对象上设置的散列值选项,

     

server {Object,default:null}要在服务器对象上设置的散列关闭选项,请参阅服务器构造函数**

     

replSet {Object,default:null}要在replSet对象上设置的散列值选项,请参阅ReplSet构造函数**

     

mongos {Object,default:null}要在mongos对象上设置的哈希关闭选项,请参阅Mongos构造函数**

我的问题是,当连接到本地mongos(分片路由器)实例时,server选项是多余的吗?或者是否应该使用servermongos选项的组合?

我无法从文档中清楚地确定这一点,并且mongos哈希中的选项非常有限。

编辑:我使用(通过mongoose)的选项格式为:

options = {
      server:{
            ...
      }
      mongos:{
            ...
      }
}

1 个答案:

答案 0 :(得分:0)

您所引用的文档中的要点实际上说明了您可以使用" url"传递的选项的限制。连接字符串格式,其中"选项"包含在那个" url"传递给MongoClient构造函数。

这实际意味着如果你需要"更多控制"您可以使用Server对象来直接指定或以其他方式包含不受支持的选项:

例如:

var mongoClient = MongoClient.connect(
    new Server( "localhost", 27017 ),
    { 
       socketOptions: {
           keepAlive: 1
       }
    }
);

mongoClient.open(function(err,mongoClient) {
    // etc.

如果您希望应用程序可以使用多个路由器,那么即使将一组mongos实例作为Server个对象。

因此,连接到mongos实例时不会支持选项,但使用连接字符串格式时不支持某些适用的选项。