我正在使用compose.io来托管测试和生产
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);
但是,连接似乎仍然悬而未决.我没有从服务器收到错误,也没有收到“开放”事件.
解决方法
回答
我能够通过将所有选项从服务器移动到mongos来解决问题:
var options = { mongos: { ssl: true,sslCA: [fs.readFileSync('/path/to/cert/certificate.pem')] // cert from compose.io dashboard } }