首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MongoError:经济拒绝

MongoError:经济拒绝
EN

Stack Overflow用户
提问于 2015-07-25 01:26:35
回答 2查看 10.2K关注 0票数 4

我只是在学习MongoDB和Node.js。我正在做一个非常简单的练习,在视频中,我尝试将我的node.js应用程序连接到我的MongoDB上,我得到了这个错误:

{ MongoError:连接ECONNREFUSED名称:'MongoError',消息:'connect‘}

在此之前,我已经在mongo上配置了一个数据库,并测试了在终端上运行一些命令:

代码语言:javascript
复制
$mongod (everything ok)
$mongo (everything ok)

然后,我创建了一个名为“products”的数据库,并向其中添加了一些产品。当我撞到:

代码语言:javascript
复制
db.products.find()

它返回:

代码语言:javascript
复制
{
"_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:

代码语言:javascript
复制
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:

代码语言:javascript
复制
{
  "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中的这一行更改为:

代码语言:javascript
复制
mongoose.connect('mongodb://0.0.0.0:27017/products');

而且起作用了。但我不知道为什么。有没有人?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-07-25 06:03:15

在找到答案方面做得不错。

正如您所发现的,本地主机的原始语句中缺少端口信息。

当在本地机器上托管dev服务器时,本地主机将需要分配端口。

票数 2
EN

Stack Overflow用户

发布于 2016-03-01 04:08:53

对于其他有类似问题的人来说。确保您阅读了mongodb的安装说明,特别是确保计算机中存在文件夹/data/db的部分。如果不是它创造的话!

如果仍然有问题,请尝试运行:sudo mongod &,以确保mongo拥有访问该文件夹的正确权限!

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31621929

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档