通过Mongoose.js连接到使用SSL和mongos的Compose.io MongoDB部署

我正在使用compose.io来托pipetesting和生产mongodb数据库,并试图使用mongoose.js(使用标准nodejs mongodb驱动程序)通过节点应用程序进行连接。 我的连接选项如下:

var connectionString = 'mongodb://user:password@host1:port1,host2:port2/dbname?ssl=true'; var options = { mongos: true, server: { ssl: true, sslValidate: true, sslCA: [fs.readFileSync('/path/to/cert/certificate.pem')] // cert from compose.io dashboard } } mongoose.createConnection(connectionString, options); 

虽然这个连接似乎悬而未决。 我没有收到服务器的错误,也没有收到“公开”事件。

回答

我能够通过将所有选项从server移动到mongos来解决此问题:

 var options = { mongos: { ssl: true, sslValidate: true, sslCA: [fs.readFileSync('/path/to/cert/certificate.pem')] // cert from compose.io dashboard } }