gpt4 book ai didi

node.js - Nodejs Mongoose 错误: getaddrinfo ENOTFOUND undefined undefined:27017

转载 作者:太空宇宙 更新时间:2023-11-03 23:05:17 25 4
gpt4 key购买 nike

我正在尝试从仅使用 native mongodb 切换到 mongoose,但遇到了一些问题。

像我之前那样连接到数据库工作正常:

var db;

var passDb = function(req, res, next) {
if (!db) {
mongo.connect(process.env.MONGOLAB_URI, function(err, database) {
if (err) throw err;
db = database;

req.db = db;
next();
});
} else {
req.db = db;
next();
}
}

但是我现在尝试执行此操作的方式会引发错误:

var mongoose     = require('mongoose');

var Poll = require('./app/models/poll');

mongoose.connect(process.env.MONGOLAB_URI);
var db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error:'));
db.once('open', function() {
// we're connected!
});

错误:

connection error: { [MongoError: getaddrinfo ENOTFOUND undefined undefined:27017
]
name: 'MongoError',
message: 'getaddrinfo ENOTFOUND undefined undefined:27017' }

你知道是什么原因造成的吗?

编辑:当我直接使用数据库 uri 时它有效,但当我使用环境变量时则无效。我已经检查并三次检查所有内容是否正确输入,它拒绝使用环境变量,我必须将其直接放入代码中:S

最佳答案

好吧,我发现了我的错误,我在调用 require('dotenv').load(); 之前连接到了数据库。谜团解开了!

mongoose.connect(process.env.MONGOLAB_URI); 现在可以工作了!

关于node.js - Nodejs Mongoose 错误: getaddrinfo ENOTFOUND undefined undefined:27017,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36048655/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com