我只是在学习MongoDB和Node.js。我正在做一个非常简单的练习,在视频中,我尝试将我的node.js应用程序连接到我的MongoDB上,我得到了这个错误:
{ MongoError:连接ECONNREFUSED名称:'MongoError',消息:'connect‘}
在此之前,我已经在mongo上配置了一个数据库,并测试了在终端上运行一些命令:
$mongod (everything ok)
$mongo (everything ok)然后,我创建了一个名为“products”的数据库,并向其中添加了一些产品。当我撞到:
db.products.find()它返回:
{
"_id": ObjectId("55b2b27d7f9f84490b8a9170"),
"name": "beer",
"description": "belgian craft beer",
"price": 20
}
{
"_id": ObjectId("55b2b2c27f9f84490b8a9171"),
"name": "whisky",
"description": "scotch blended 18 years old",
"price": 150
}
{
"_id": ObjectId("55b2b3e47f9f84490b8a9172"),
"name": "cachaça",
"description": "typical brazilian cachaça",
"price": 10
}
{
"_id": ObjectId("55b2b4087f9f84490b8a9173"),
"name": "water",
"description": "water from the swiss alps",
"price": 5
}
{
"_id": ObjectId("55b2b2617f9f84490b8a916f"),
"name": "wine",
"description": "red porto wine",
"price": 80,
"tags": [
"porto",
"sweet",
"wine"
]
}My app.js:
var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/products');
var db = mongoose.connection;
db.on('error', function(err){
console.log('Erro de conexao.', err)
});
db.on('open', function () {
console.log('Conexão estabelecida.')
});
db.on('disconnected', function(err){
console.log('Desconectado')
});和我的package.json:
{
"name": "aula-mongoose",
"version": "0.0.1",
"description": "aula sobre mongoose",
"main": "app.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [
"node.js",
"mongodb"
],
"author": "Guga",
"license": "WTFPL",
"dependencies": {
"mongoose": "^4.1.0"
}
}我读过很多关于这方面的文章,甚至这里的帖子。但我找不出这里出了什么问题。
编辑:
当$mongod已经在运行时,我意外地试图连接到它,并提示我犯了以下错误:
错误:48个已用于套接字的地址: 0.0.0.0:27017
因此,我将app.js中的这一行更改为:
mongoose.connect('mongodb://0.0.0.0:27017/products');而且起作用了。但我不知道为什么。有没有人?
发布于 2015-07-25 06:03:15
在找到答案方面做得不错。
正如您所发现的,本地主机的原始语句中缺少端口信息。
当在本地机器上托管dev服务器时,本地主机将需要分配端口。
发布于 2016-03-01 04:08:53
对于其他有类似问题的人来说。确保您阅读了mongodb的安装说明,特别是确保计算机中存在文件夹/data/db的部分。如果不是它创造的话!
如果仍然有问题,请尝试运行:sudo mongod &,以确保mongo拥有访问该文件夹的正确权限!
https://stackoverflow.com/questions/31621929
复制相似问题