为什么我不能连接到猫鼬服务器

时间:2018-12-12 22:34:47

标签: node.js mongodb express mongoose mongoose-web-server

我已经在db.js文件中实现了以下代码,以要求使用mongoose并连接到mongoose服务器。下面的代码在db.js文件中

var mongoose = require( 'mongoose' );
var dbURI = 'mongodb://localhost/CaribbeanDb';
mongoose.connect(dbURI);

mongoose.connection.on('connected', function (){
console.log('Mongoose connected to ' + dbUEI); 
});

mongoose.connection.on('error', function (err){
console.log('Mongoose connection error:' + err); 
});
mongoose.connection.on('disconnected', function (){
console.log('Mongoose disconnected:'); 
});

当我尝试连接到猫鼬时会出现此错误

node:16880) DeprecationWarning: current URL string parser is deprecated, and will be removed in a future version. To use the new parser, pass option { useNewUrlParser: true } to MongoClient.connect.
Mongoose disconnected:
Mongoose connection error:MongoNetworkError: failed to connect to server [localhost:27017] on first connect [MongoNetworkError: connect ECONNREFUSED 127.0.0.1:27017]

因此,我将db.js文件中的第二行代码更改为下面的代码

mongoose.connect('mongodb://localhost:27017/CaribbeanDb', {useNewUrlParser: true})

更改后...我现在在下面出现此错误

Mongoose connection error:MongoNetworkError: failed to connect to server [localhost:27017] on first connect [MongoNetworkError: connect ECONNREFUSED 127.0.0.1:27017]

我试图做进一步的研究以解决该错误。我遇到了下面的一些命令。输入git terminal以解决问题,但是在终端内找不到命令。

$ sudo rm /data/db/mongod.lock
$ sudo mongod --dbpath /data/db/ --repair
$ sudo mongod --dbpath /data/db/ --journal

有什么建议..当我快要出问题的主意了吗?

1 个答案:

答案 0 :(得分:0)

您的计算机上是否安装了MongoDB?

Mongoose是一个ORM,而MongoDB是实际的数据库,这使其成为Mongoose的依赖项。

如果您使用的是macOS,则可以运行:

!empty()

如果您发现自己没有它,请安装Homebrew:

mongo -version

启动MongoDB守护程序:

brew install mongo
sudo mkdir -p /data/db
sudo chown -R `id -un` /data/db