连接远程数据库时报错:Error: Error connecting to database: failed to connect to [127.0.0.1:27017]
查看了mongodb中间件的源码中node_modules/mongodb/lib/mongodb/connection/connection.js有这么一行代码: this.socketOptions = socketOptions ? socketOptions : {host:‘localhost’, port:27017, domainSocket:false};这行代码看似像连接的本地,不知道是不是bug
3 回复
后来仔细查看了下,不是bug,是默认设置
@hpgt 请问,那要如何链接数据库呢?我现在也遇到这个问题了。
* 连接到mongodb
* 使用mongoose而非mongodb中间件
**/
var mongoose = require('mongoose');
function connection(){
// mongoose.connect("mongodb://localhost:27017/test");//只需一次连接即可
// mongoose.connect("mongodb://user:pass[@localhost](/user/localhost):port/database");//需要验证账户
var db = mongoose.connection;
db.on('error',console.error.bind(console,'connection error数据库连接失败'));
db.once('open',function callback(){
console.log('connection success数据库连接成功');
});
}
//exports.getConnect=getConnect;//包含到一个对象中
module.exports = connection;//直接导出这个对象 ```
以上代码是用mongoose连接mongodb的,如果使用mongoose就不要使用mongodb了,因为可能出现你那样的问题,一处连接了数据库可能另一处没有连接上就会报那个错误,目前也没有用过其他连接数据库的组件,不过觉得mongoose比mongodb好用