我的节点快递应用程序无法使用mongoose在本地连接到mongodb

时间:2020-07-28 08:47:33

标签: node.js mongodb mongoose

我正在使用macO。我遵循了https://developer.mozilla.org/en-US/docs/Learn/Server-side/Express_Nodejs/development_environmenthttps://www.youtube.com/watch?v=1NrHkjlWVhM上的Web开发教程。这是一个安装了ff npm的简单节点应用程序:

  • 表达
  • pug
  • 猫鼬(“ ^ 5.9.26”)
  • -save-dev nodemon

请注意,我的计算机中未安装MongoDB,因为本教程并不需要。

这是我的代码:

const mongoose = require('mongoose')

mongoose.connect('mongodb://localhost/blog', {
     useNewUrlParser: true, 
     useUnifiedTopology: true
}).catch(error => console.log(error))

我尝试将服务器地址更改为ff,但未成功

  • mongodb:// localhost:27017 / blog
  • mongodb://127.0.0.1:27017 / blog
  • mongodb://127.0.0.1/blog

,并会不断获取ff错误日志。我该如何解决?

[nodemon] restarting due to changes...
[nodemon] starting `node server.js`
MongooseServerSelectionError: connect ECONNREFUSED 127.0.0.1:27017
    at NativeConnection.Connection.openUri (/Users/Dave/Desktop/apps/test-blog/node_modules/mongoose/lib/connection.js:827:32)
    at Mongoose.connect (/Users/Dave/Desktop/apps/test-blog/node_modules/mongoose/lib/index.js:335:15)
    at Object.<anonymous> (/Users/Dave/Desktop/apps/test-blog/server.js:6:10)
    at Module._compile (internal/modules/cjs/loader.js:1138:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1158:10)
    at Module.load (internal/modules/cjs/loader.js:986:32)
    at Function.Module._load (internal/modules/cjs/loader.js:879:14)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12)
    at internal/main/run_main_module.js:17:47 {
  reason: TopologyDescription {
    type: 'Single',
    setName: null,
    maxSetVersion: null,
    maxElectionId: null,
    servers: Map { 'localhost:27017' => [ServerDescription] },
    stale: false,
    compatible: true,
    compatibilityError: null,
    logicalSessionTimeoutMinutes: null,
    heartbeatFrequencyMS: 10000,
    localThresholdMS: 15,
    commonWireVersion: null
  }
}

1 个答案:

答案 0 :(得分:0)

请注意,我的计算机中未安装MongoDB,因为本教程没有要求

MongoDB URI mongodb://localhost:27017指向本地计算机。换句话说,必须在本地计算机上安装MongoDB实例,才能使Node脚本连接到该实例。

请注意,通常,localhost域及其等效IP地址127.0.0.1保留用于在本地计算机上运行的服务。例如,在这种情况下,本地MongoDB实例应在localhost域的默认27017端口上运行,如错误消息中所示。

MongooseServerSelectionError:连接ECONNREFUSED 127.0.0.1:27017