Node.js 无法使用mongoose.connect连接到Mongo
错误:“MongoError:无法在第一次连接[MongoError:getaddrinfo]时连接到服务器[config.mongoUrl:27017] ENOTFOUND config.mongoUrl config.mongoUrl:27017]“ 我正在运行MacNode.js 无法使用mongoose.connect连接到Mongo,node.js,mongoose,Node.js,Mongoose,错误:“MongoError:无法在第一次连接[MongoError:getaddrinfo]时连接到服务器[config.mongoUrl:27017] ENOTFOUND config.mongoUrl config.mongoUrl:27017]“ 我正在运行MacosXYosemite版本10.10.5 下面列出了pkg.json文件中我的依赖项及其 版本 MongoDB shell版本:3.2.10 DB版本3.2.10 我的文件夹结构如下所示: -->src --> c
osX
Yosemite版本10.10.5
下面列出了pkg.json文件中我的依赖项及其
版本
MongoDB shell版本:3.2.10
DB版本3.2.10
我的文件夹结构如下所示:
-->src
--> config
|--> index.js
--> middleware
|--> index.js
--> routes
|--> index.js
--> db.js
--> index.js
在config/index.js中,代码如下所示:
export default {
"port": 3000,
"mongoUrl": 'mongodb://localhost:27017/some-api'
}
import mongoose from 'mongoose';
import config from './config';
export default callback => {
let db = mongoose.connect('config.mongoUrl');
callback(db);
}
在db.js中,代码如下:
export default {
"port": 3000,
"mongoUrl": 'mongodb://localhost:27017/some-api'
}
import mongoose from 'mongoose';
import config from './config';
export default callback => {
let db = mongoose.connect('config.mongoUrl');
callback(db);
}
我尝试过用127.0.0.1替换本地主机
我已尝试直接连接,而不是从配置。我尝试过使用唯一没有MongoDB的本地主机。下面列出了我的依赖项。
我以前做过一次,它成功了。我不确定为什么它不成功
如果这个问题看起来多余,我很抱歉,但是我在堆栈中找不到有效的答案。任何帮助都将不胜感激
"devDependencies": {
"babel-cli": "^6.18.0",
"babel-core": "^6.18.2",
"babel-eslint": "^7.1.0",
"babel-preset-es2015": "^6.18.0",
"babel-preset-stage-0": "^6.16.0",
"eslint": "^3.9.1",
"nodemon": "^1.11.0"
},
"dependencies": {
"body-parser": "^1.15.2",
"express": "^4.14.0",
"mongoose": "^4.6.6",
"path": "^0.12.7"
我注意到您正在尝试连接'config.mongoUrl',这是一个字符串文本。请删除“”并重试
let db = mongoose.connect(config.mongoUrl);
我注意到您正在尝试连接'config.mongoUrl',这是一个字符串文本。请删除“”并重试
let db = mongoose.connect(config.mongoUrl);
除了错误地提供“字符串”而不是正确的对象引用之外,您目前的用法是不推荐的。在您使用它的上下文中,此处的
.connect()
将返回一个承诺
,而不是对数据库连接的回调或解析引用。看见版本4.6.6已经很旧了,您的项目确实应该更新。除了提供“字符串”而不是正确的对象引用这一错误之外,您目前的用法已被弃用。在您使用它的上下文中,此处的.connect()
将返回一个承诺
,而不是对数据库连接的回调或解析引用。看见版本4.6.6已经很旧了,你的项目真的应该更新了。谢谢斯巴鲁710!我总是被一些小事弄糊涂。我盯着这个看了好几个小时,却忽略了它。我感谢你抽出时间。真的。不客气约瑟夫:)如果它现在起作用,请接受这个答案。谢谢你,斯巴鲁710!我总是被一些小事弄糊涂。我盯着这个看了好几个小时,却忽略了它。我感谢你抽出时间。真的。不客气约瑟夫:)如果它现在起作用,请接受这个答案。谢谢