- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在遵循找到的教程 here 。但是我收到以下错误:
Unable to connect to the mongoDB server. Error: { [MongoError: connect ECONNREFUSED 127.0.0.1:27017]
name: 'MongoError',
message: 'connect ECONNREFUSED 127.0.0.1:27017' }
我已经使用发现的命令进行了验证 here返回 1:
ps -ef | grep mongod | grep -v grep | wc -l | tr -d ' '
我也跑过
ps -ef | grep mongod
并收到以下内容:
0 4165 418 0 Fri12pm ttys000 0:00.03 sudo mongod
501 6165 418 0 9:54am ttys000 0:00.00 grep mongod
我尝试运行的 javascript 文件如下:
var fs = require('fs');
var http = require("https");
var express = require('express');
var app = express();
var path = require('path');
var http = require("http");
var url = require("url");
var req = require('request')
var pem = require('pem');
var cors = require("cors");
var mongodb = require('mongodb').MongoClient;
var url = 'mongodb://127.0.0.1:27017/Rewards';
// Use connect method to connect to the Server
mongodb.connect(url, function (err, db) {
if (err) {
console.log('Unable to connect to the mongoDB server. Error:', err);
} else {
//HURRAY!! We are connected. :)
console.log('Connection established to', url);
// do some work here with the database.
//Close connection
db.close();
}
});
app.use(function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
next();
});
app.use(express.static(path.join(__dirname, '../')));
app.listen(process.env.PORT || 8080);
app.options('*', cors());
app.all('/*', function (req, res, next) {
res.header("Access-Control-Allow-Origin", "http://localhost:8080");
res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE');
res.header("Access-Control-Allow-Headers", "X-Requested-With, Content-Type");
next();
});
app.get('/', function (req, res) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
res.writeHead(200, {'Content-Type': 'text/plain'});
contents = fs.readFileSync("sliderImages.json", "utf8");
console.log(path.join(__dirname, '/sliderImages.json'));
res.end(contents);
});
我尝试过的事情:
我对 Node JS 和 Mongo DB 相当陌生,因此尝试调试它有点困难。我已经尝试了 StackOverflow 内外其他相关帖子中的许多内容,但似乎无法弄清楚为什么会出现此错误。
我确实安装了以下内容,因为我读到 Mongo DB 需要它们:
以及:
我正在发布我的代码;也许一个更了解这些的更好的开发人员可以向我解释到底发生了什么以及为什么会出现这个问题。我从来源中读到,我找不到可能发生这种情况的链接,因为一些关键问题,例如未关闭数据库连接、没有数据库、Mongo 未运行以及其他一些问题。
进入Mongod:
2016-05-31T11:18:44.936-0400 I CONTROL [initandlisten] MongoDB starting : pid=10385 port=27017 dbpath=/data/db 64-bit host=RBCs-MacBook- Pro-3.local
2016-05-31T11:18:44.936-0400 I CONTROL [initandlisten] db version v3.2.6
2016-05-31T11:18:44.936-0400 I CONTROL [initandlisten] git version: 05552b562c7a0b3143a729aaa0838e558dc49b25
2016-05-31T11:18:44.937-0400 I CONTROL [initandlisten] OpenSSL version: OpenSSL 1.0.2h 3 May 2016
2016-05-31T11:18:44.937-0400 I CONTROL [initandlisten] allocator: system
2016-05-31T11:18:44.937-0400 I CONTROL [initandlisten] modules: none
2016-05-31T11:18:44.937-0400 I CONTROL [initandlisten] build environment:
2016-05-31T11:18:44.937-0400 I CONTROL [initandlisten] distarch: x86_64
2016-05-31T11:18:44.937-0400 I CONTROL [initandlisten] target_arch: x86_64
2016-05-31T11:18:44.937-0400 I CONTROL [initandlisten] options: {}
2016-05-31T11:18:44.937-0400 I - [initandlisten] Detected data files in /data/db created by the 'wiredTiger' storage engine, so setting the active storage engine to 'wiredTiger'.
2016-05-31T11:18:44.937-0400 W - [initandlisten] Detected unclean shutdown - /data/db/mongod.lock is not empty.
2016-05-31T11:18:44.937-0400 I STORAGE [initandlisten] exception in initAndListen: 98 Unable to create/open lock file: /data/db/mongod.lock errno:13 Permission denied Is a mongod instance already running?, terminating
2016-05-31T11:18:44.937-0400 I CONTROL [initandlisten] dbexit: rc: 100
最佳答案
您对 NPM 上提供的 Mongodb 驱动程序和可在 mongodb.com 上安装的 Mongodb 服务有点困惑
您从他们的网站安装的 mongodb 服务用于创建一个 mongodb 实例,该实例将实际保存和存储您的数据记录。如果您有 RDBMS 背景,则与拥有 localdb/expressdb 相同。
通过brew包管理器安装他们提供的mongodb服务 - 类似于NPM,但支持不同的库。首先安装brew,然后按照Mongodb网站上的说明进行操作,那里有一个链接位于http://brew.sh/ .
安装 MongoDB 实例并设置路径变量后,您将能够在打开任何终端窗口后运行 mongodb 命令和 mongo 命令。
这将启动您的 mongodb 服务
brew services start mongodb
这将结束您的 mongodb 服务
brew services end mongodb
您从 NPM 安装的 mongodb 只是一个公共(public) api/驱动程序,允许您与已安装的服务进行交互。在连接到 Node 项目时,您必须打开一个正在运行 mongodb 的终端。
注意:(关于您已安装的软件包。)如果您使用 mongodb,则不需要 mongoose - mongoose 是构建在 mongodb 之上的,它强制执行架构内容并且体积更大。我建议先坚持使用 mongodb,然后再添加另一层来学习。
关于javascript - 苹果电脑 : Node JS Mongo Database Error: Connection Refused,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37528246/
我正在尝试从 Linux 远程登录到 Windows PC,但显示错误“登录失败”。 这是我的 Python 脚本。我正在使用 pexpect 模块。我也尝试过使用 telnetlib 但同样的错误:
大多人在windows平台用的tomcat都是免安装版本的,很自然想到复制几份目录,就是在同一个电脑上跑多个tomcat服务了。实际上是不可以的。经过如下方法就可以实现统一台服务器(电脑)上运行多个
正负号是一个不常用的符号,很多小伙伴不知道怎么打出来,打出来确实有点麻烦,很多小伙伴不知道怎么弄,今天小编就给大家带来了轻松便捷的方法吧。 正负号怎么打出来 方法1、“&plu
在一项作业中,我被要求创建一个 [7] x [7] 矩阵,以及一个与计算机对战的井字棋游戏。玩家是 X,计算机是 O。[1][1] 是选择 1,[1][3] 是选择 2,[1][5] 是选择 3,[3
我想知道如何开发应用程序/服务器。我的安卓手机会在我说话时录制我的声音,并将其发送到 PC,然后使用 PC 的扬声器播放。 我想我需要一个在计算机上运行的媒体服务器来接收我的声音,然后使用手机上已有的
我正在开发一个使用蓝牙玩的安卓游戏应用程序。在搜索蓝牙设备时,结果包含移动设备和 mac pc/笔记本电脑。我只想在结果列表中列出移动设备。是否可以确定检测到的设备是否为移动设备? 最佳答案 当你有
在学习 Meteor 框架的过程中,我正在将 Yik Yak 移动应用程序重新创建为 Web 应用程序。但该应用程序是完全匿名的,没有用户帐户,但您仍然只能对帖子投赞成票或反对票一次。如何做到这一点?
我花了一些时间寻找解决方案。我已经使用 MacPorts 在我的 mac 上重新安装了 Vim 好几次。 vim --version 命令显示 +clipboard 和 +xterm_clipboar
我是一名优秀的程序员,十分优秀!