连接远程数据库时报错:Error: Error connecting to database: failed to connect to [127.0.0.1:27017]
发布于 10 年前 作者 yuedun 18450 次浏览 最后一次编辑是 8 年前

查看了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好用
回到顶部