我在尝试连接mongoDB时遇到错误。我知道有很多类似于这个的问题,我已经检查了所有这些问题,并且没有找到解决我问题的方法。
这是确切的错误:
连接错误:{MongoError:connect ECONNREFUSED 127.0.0.1:21017 名称:' MongoError' 消息:连接ECONNREFUSED 127.0.0.1:21017
我查看了其他一些解决方案并且他们说要调整mongo.conf文件,但我似乎无法在我的系统上找到该文件并且我已经下载了MongoDB。
这是我的完整代码:
var express = require('express');
var router = express.Router();
var mongoose = require('mongoose');
$ = require('cheerio');
/* GET home page. */
mongoose.connect('mongodb://localhost/');
var db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error:'));
db.once('open', function() {
console.log('Connected to database');
// we're connected!
});
var pageInfo = {
title: 'JotIT',
owner: 'Emmanuel Obogbaimhe',
message: 'Hi welcome to JotIT. A quick, simple and easy to use note taker.',
date: Date.now(),
age: 22
};
router.get('/', function(req, res, next) {
res.render('index', {
title: pageInfo.title,
author: pageInfo.owner,
message: pageInfo.message,
date: pageInfo.date,
age: pageInfo.age
});
});
module.exports = router;
答案 0 :(得分:0)
出现这种错误的原因:{MongoError:connect ECONNREFUSED 127.0.0.1:21017},是Mongo进程没有在该PORT上运行,或者根本没有运行。 首先检查mongo进程是否正在运行:
service mongod status //for Linux machine
第二步 - 检查mongo进程的端口:
nmap -p- localhost //for Linux machine
答案 1 :(得分:0)
对于Windows,打开另一个终端并进入apps根目录。然后,运行$ mongod.exe
。我建议将以下内容放入test.js文件中:
var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost:27017/test.js');
var db = mongoose.connection;
db.on("error", function(error){
console.error("Connection error : " + error)
});
db.once('open', function() {
console.log('Connected to database');
db.close(function(){
console.log("db connection closed");
});
});
返回原始终端并运行$ node test.js
答案 2 :(得分:0)
我遇到了同样的错误,在我刚刚做的预览mongodb会话中看起来很糟糕并且结果很好
sudo service mongod stop
sudo service mongod start
答案 3 :(得分:0)
由于硬盘驱动器内存空间不足导致同样的问题。这导致mongod在重新启动后继续崩溃。
只需增加服务器的内存空间,并重新启动mongod(手动或在服务自动重启时通过重启)解决了这个问题。
答案 4 :(得分:0)
试试这个
var express = require('express');
var router = express.Router();
var mongoose = require('mongoose');
$ = require('cheerio');
/* GET home page. */
mongoose.connect('mongodb://localhost:27017/db-dev');
或尝试使用
mongoose.connect('mongodb://0.0.0.0:27017/db-dev');
答案 5 :(得分:0)
将您的猫鼬连接代码更改为:
mongoose.connect('mongodb://localhost:27017/yourdb');