让 Mongo 连接到 Express 应用程序
Posted
技术标签:
【中文标题】让 Mongo 连接到 Express 应用程序【英文标题】:Getting Mongo to Connect to Express App 【发布时间】:2015-05-18 22:53:25 【问题描述】:Yosemite Mongo 用户正在阅读一本 MEAN 书籍。我一直严格按照这些步骤操作,但 MongoDB 没有按预期连接。我之前安装过一次 Mongo 来处理导入数据,但并没有走得太远。以下是我除了 package.json 之外的所有 Mongo 相关代码:
在 app.js 我有 require('./app_server/models/db');
并且在那个文件夹中我有:
var mongoose = require( 'mongoose' );
var dbURI = 'mongodb://localhost/Loc8r';
mongoose.connect(dbURI);
// CONNECTION EVENTS
mongoose.connection.on('connected', function ()
console.log('Mongoose connected to ' + dbURI);
);
mongoose.connection.on('error',function (err)
console.log('Mongoose connection error: ' + err);
);
mongoose.connection.on('disconnected', function ()
console.log('Mongoose disconnected');
);
我期待得到
Express server listening on port 3000
Mongoose connected to mongodb://localhost/Loc8r
而是得到:
Mongoose disconnected
Mongoose connection error: Error: failed to connect to [localhost:27017]
我尝试将一行更改为 var dbURI = 'mongodb://localhost:3000/Loc8r';
,因为这是我的计算机正在使用的,但随后出现此错误:
Mongoose disconnected
Mongoose connection error: Error: connection closed
非常感谢任何帮助。
【问题讨论】:
简单的东西优先...你确定 mongo 正在运行吗? 我不确定?这本书没有说任何关于将它作为一个步骤运行的内容。 你的环境是什么? 麦克优胜美地。添加到帖子 我很震惊你的书没有说在尝试连接之前启动 mongo 服务器。此外,当您启动它时,您需要自定义它以侦听端口 3000(默认为 27017)。 【参考方案1】:Mongo 缺少所需的文件夹 MongoDB not working. "ERROR: dbpath (/data/db) does not exist."
然后服务器必须使用“mongod”运行
【讨论】:
以上是关于让 Mongo 连接到 Express 应用程序的主要内容,如果未能解决你的问题,请参考以下文章
Heroku 上的 Node.js Express 应用程序不会使用 Mongoose 连接到 MongoLab 数据库