帆服務器:Sails.js,MongoDb:嘗試連接時超時;可能使用連接池?
- 的Windows 10的64位
- Sails.js 1.0.0-36
- Node.js的6.10.2
的MongoDB服務器:
- Virtualbox上的Centos 7,僅主機聯網
- Mongodb 3.4.4,聽完所有接口,沒有權威性配置
我可以成功地解除帆,連接數據存儲,並使用這些模型沒有任何問題。
然而,本次測試將導致在超時:
let mongo = require('mongodb');
let uri = 'mongodb://' + process.env.MONGO_SERVER + ':' + process.env.MONGO_PORT + '/sails';
mongo.MongoClient.connect(uri, function(err, db) {
if(err){
return res.serverError(err);
}
return res.json("open");
});
{ MongoError: failed to connect to server [192.168.99.2:27027] on first connect [MongoError: connect ETIMEDOUT 192.168.99.2:27027]
at Pool.<anonymous> (....\node_modules\mongodb-core\lib\topologies\server.js:329:35)
at emitOne (events.js:96:13)
at Pool.emit (events.js:188:7)
at Connection.<anonymous> (....\node_modules\mongodb-core\lib\connection\pool.js:280:12)
at Connection.g (events.js:291:16)
at emitTwo (events.js:106:13)
at Connection.emit (events.js:191:7)
at Socket.<anonymous> (....\node_modules\mongodb-core\lib\connection\connection.js:187:49)
at Socket.g (events.js:291:16)
at emitOne (events.js:96:13)
at Socket.emit (events.js:188:7)
at emitErrorNT (net.js:1281:8)
at _combinedTickCallback (internal/process/next_tick.js:80:11)
at process._tickDomainCallback (internal/process/next_tick.js:128:9)
name: 'MongoError',
message: 'failed to connect to server [192.168.99.2:27027] on first connect [MongoError: connect ETIMEDOUT 192.168.99.2:27027]' }
我使用的數據存儲上使用完全相同的服務器信息。
那麼這裏可能會出現什麼問題?
同樣重要的是:是否可以使用全局Sails連接池而不是創建新連接?怎麼樣?我搜索了文檔,但找不到具體的參考文獻。
'err'絕對不是'null' ---這就是我得到的錯誤,不需要以不同的方式測試它,謝謝。 – noderman