Javascript MongoError:无法连接到服务器[localhost:27017]

Javascript MongoError:无法连接到服务器[localhost:27017],javascript,node.js,mongodb,Javascript,Node.js,Mongodb,当我键入node server.js时,它会返回此错误 MongoError: failed to connect to server [localhost:27017] on first connect [MongoError: connect ECONNREFUSED 127.0.0.1:27017] at Pool.<anonymous> (/home/islam/workspace/project/node_modules/mongoose/node_modules/

当我键入
node server.js
时,它会返回此错误

MongoError: failed to connect to server [localhost:27017] on first connect [MongoError: connect ECONNREFUSED 127.0.0.1:27017]
    at Pool.<anonymous> (/home/islam/workspace/project/node_modules/mongoose/node_modules/mongodb-core/lib/topologies/server.js:327:35)
    at emitOne (events.js:96:13)
    at Pool.emit (events.js:191:7)
    at Connection.<anonymous> (/home/islam/workspace/project/node_modules/mongoose/node_modules/mongodb-core/lib/connection/pool.js:274:12)
    at Object.onceWrapper (events.js:293:19)
    at emitTwo (events.js:106:13)
    at Connection.emit (events.js:194:7)
    at Socket.<anonymous> (/home/islam/workspace/project/node_modules/mongoose/node_modules/mongodb-core/lib/connection/connection.js:177:49)
    at Object.onceWrapper (events.js:293:19)
    at emitOne (events.js:96:13)
    at Socket.emit (events.js:191:7)
    at emitErrorNT (net.js:1283:8)
    at _combinedTickCallback (internal/process/next_tick.js:80:11)
    at process._tickCallback (internal/process/next_tick.js:104:9)
 MongoDB shell version v3.4.4
connecting to: mongodb://127.0.0.1:27017
2017-05-05T23:34:21.724+0600 W NETWORK  [thread1] Failed to connect to 127.0.0.1:27017, in(checking socket for error after poll), reason: Connection refused
2017-05-05T23:34:21.724+0600 E QUERY    [thread1] Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed :
connect@src/mongo/shell/mongo.js:237:13
@(connect):1:6
exception: connect failed
**

但是,
mongo
命令给了我这个错误

MongoError: failed to connect to server [localhost:27017] on first connect [MongoError: connect ECONNREFUSED 127.0.0.1:27017]
    at Pool.<anonymous> (/home/islam/workspace/project/node_modules/mongoose/node_modules/mongodb-core/lib/topologies/server.js:327:35)
    at emitOne (events.js:96:13)
    at Pool.emit (events.js:191:7)
    at Connection.<anonymous> (/home/islam/workspace/project/node_modules/mongoose/node_modules/mongodb-core/lib/connection/pool.js:274:12)
    at Object.onceWrapper (events.js:293:19)
    at emitTwo (events.js:106:13)
    at Connection.emit (events.js:194:7)
    at Socket.<anonymous> (/home/islam/workspace/project/node_modules/mongoose/node_modules/mongodb-core/lib/connection/connection.js:177:49)
    at Object.onceWrapper (events.js:293:19)
    at emitOne (events.js:96:13)
    at Socket.emit (events.js:191:7)
    at emitErrorNT (net.js:1283:8)
    at _combinedTickCallback (internal/process/next_tick.js:80:11)
    at process._tickCallback (internal/process/next_tick.js:104:9)
 MongoDB shell version v3.4.4
connecting to: mongodb://127.0.0.1:27017
2017-05-05T23:34:21.724+0600 W NETWORK  [thread1] Failed to connect to 127.0.0.1:27017, in(checking socket for error after poll), reason: Connection refused
2017-05-05T23:34:21.724+0600 E QUERY    [thread1] Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed :
connect@src/mongo/shell/mongo.js:237:13
@(connect):1:6
exception: connect failed

我需要访问我的数据库集合


任何帮助都将不胜感激

看起来您需要创建/data/db文件夹

尝试在终端中执行此操作

sudo mkdir/data/db


然后启动mongodb

第一次运行mongod.exe,如果它给出任何关于不安全关机、度量、诊断的警告,则忽略它们,并在另一个CLI(命令行界面)中运行mongo.exe

即使不起作用,也只需备份。/data/db目录并重做数据库

在使用数据库驱动程序(例如:mongoose、mongojs)访问数据库之前,请确保数据库已启动并正在运行

$mongo
MongoDB shell版本3.4.4
连接到:mongodb://127.0.0.1:27017
MongoDB服务器版本:3.4.4
使用您的AwesomeDatabaseName
切换到db YourAwesomeDatabaseName


你可以走了

默认情况下,Mongo会将数据写入/data文件夹,而运行Mongo服务的用户没有创建/data文件夹的权限

您可以从此日志片段中获取此信息

2017-05-05T23:33:06.816+0600 I STORAGE  [initandlisten] exception in initAndListen: 29 Data directory /data/db not found., terminating
2017-05-05T23:33:06.816+0600 I NETWORK  [initandlisten] shutdown: going to close listening sockets...
所以,你需要这样做

sudo mkdir /data/db
sudo chown $USER -R /data/db # give permission to the user who is running mongo service

我在本地终端上遇到一个问题/mongo.js:237:13试图运行GCP托管的mongo。我通过删除GCP中的标签修复了这个问题,这是因为您的mongodb服务器没有运行

您可以通过以下方式进行验证:

sudo服务mongodb状态

** 您需要通过运行命令来启动服务器

sudo服务mongodb启动


祝你好运

在哪里?在我的项目文件夹中?请你解释得更具体一点好吗?不,它会在你机器的根目录中。如果你只是打开终端并输入命令,就像我在任何目录下的答案一样,它会工作