【问题标题】:My node express app can't connect locally to mongodb using mongoose我的节点快递应用程序无法使用 mongoose 在本地连接到 mongodb
【发布时间】:2020-11-17 16:03:45
【问题描述】:

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

  • 快递
  • 哈巴狗
  • 猫鼬(“^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
  }
}

【问题讨论】:

    标签: node.js mongodb mongoose


    【解决方案1】:

    请注意,我的电脑中没有安装 MongoDB,因为教程不需要它

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

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

    MongooseServerSelectionError:连接 ECONNREFUSED 127.0.0.1:27017

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-27
      • 1970-01-01
      • 2019-09-04
      • 1970-01-01
      • 2015-01-28
      • 2020-11-20
      相关资源
      最近更新 更多