Mongodb Rest api-MongoneWorkError:无法连接到服务器

Mongodb Rest api-MongoneWorkError:无法连接到服务器,mongodb,rest,express,Mongodb,Rest,Express,我正在尝试为mongo db创建一个简单的RESTAPI 我有一个server.js const express = require('express'); const mongoose = require('mongoose'); const bodyParser = require('body-Parser'); const app = express(); app.use(bodyParser.json()); const db = require('./config/keys').

我正在尝试为mongo db创建一个简单的RESTAPI

我有一个server.js

const express = require('express');
const mongoose = require('mongoose');
const bodyParser = require('body-Parser');

const app = express();

app.use(bodyParser.json());

const db = require('./config/keys').mongoURI;

mongoose
    .connect('mongodb://test:test123@ds241012.mlab.com:41012/test_db' ,{useNewUrlParser: true})
    .then(() => console.log('DB Connected'))
    .catch(err => console.log(err));

const port = process.env.PORT || 4000;

app.listen(port, () => console.log('Server started'));
我使用nodemon,当我运行npm服务器时,我会在终端(console.log)中启动服务器

在此之后,我从终端获得以下输出

{ MongoNetworkError: failed to connect to server [ds241012.mlab.com:41012] on first connect [MongoNetworkError: connection 0 to ds241012.mlab.com:41012 timed out]
    at Pool.<anonymous> (/Users/cdd/Documents/_Work/cd/React/test_db/node_modules/mongodb-core/lib/topologies/server.js:564:11)
    at emitOne (events.js:116:13)
    at Pool.emit (events.js:211:7)
    at Connection.<anonymous> (/Users/cdd/Documents/_Work/cd/React/test_db/node_modules/mongodb-core/lib/connection/pool.js:317:12)
    at Object.onceWrapper (events.js:317:30)
    at emitTwo (events.js:126:13)
    at Connection.emit (events.js:214:7)
    at Socket.<anonymous> (/Users/cdd/Documents/_Work/cd/React/test_db/node_modules/mongodb-core/lib/connection/connection.js:257:10)
    at Object.onceWrapper (events.js:313:30)
    at emitNone (events.js:106:13)
    at Socket.emit (events.js:208:7)
    at Socket._onTimeout (net.js:420:8)
    at ontimeout (timers.js:482:11)
    at tryOnTimeout (timers.js:317:5)
    at Timer.listOnTimeout (timers.js:277:5)
  name: 'MongoNetworkError',
  errorLabels: [ 'TransientTransactionError' ],
  [Symbol(mongoErrorContextSymbol)]: {} }
{MongoNetworkError:第一次连接时无法连接到服务器[ds241012.mlab.com:41012][MongoNetworkError:连接0到ds241012.mlab.com:41012超时]
在池中。(/Users/cdd/Documents/_Work/cd/React/test_db/node_modules/mongodb core/lib/topologies/server.js:564:11)
在emitOne(events.js:116:13)
在Pool.emit(events.js:211:7)
连接时。(/Users/cdd/Documents/_-Work/cd/React/test_-db/node_-modules/mongodb-core/lib/Connection/pool.js:317:12)
在Object.onceWrapper(events.js:317:30)
两点钟(events.js:126:13)
在Connection.emit(events.js:214:7)
在套接字上。(/Users/cdd/Documents/_-Work/cd/React/test_-db/node_-modules/mongodb-core/lib/connection/connection.js:257:10)
在Object.onceWrapper(events.js:313:30)
在emitNone(events.js:106:13)
在Socket.emit(events.js:208:7)
在Socket.\u onTimeout(net.js:420:8)
在ontimeout(timers.js:482:11)
在tryOnTimeout(timers.js:317:5)
at Timer.listOnTimeout(timers.js:277:5)
名称:“MongoNetworkError”,
errorLabels:['TransientTransactionError'],
[符号(mongoErrorContextSymbol)]:{}
如果我随后更新server.js,终端将返回“server start”


gte此输出正常吗

如果您已经将尝试连接mongodb的机器的IP地址列为白名单,那么您得到错误的唯一可能性是因为防火墙正在阻止它