【问题标题】:NodeJs MongoDB and HerokuNodeJs MongoDB 和 Heroku
【发布时间】:2017-01-26 23:18:39
【问题描述】:

在将 Node 应用程序部署到 Heroku 时,我收到以下错误消息。任何想法可能导致它?

  1. 2016-09-19T09:44:06.497018+00:00 app[web.1]: "stack": [
  2. 2016-09-19T09:44:06.497020+00:00 app[web.1]:“TypeError: options.mongooseConnection.once 不是函数”,
  3. 2016-09-19T09:44:06.497021+00:00 app[web.1]:“在 MongoStore (/app/node_modules/connect-mongo/src/index.js:91:48)”,李>
  4. 2016-09-19T09:44:06.497021+00:00 app[web.1]:“在 Object.(/app/app/session/index.js:14:17)”,
  5. 2016-09-19T09:44:06.497022+00:00 app[web.1]:“在 Module._compile (module.js:413:34)”,
  6. 2016-09-19T09:44:06.497022+00:00 app[web.1]:“在 Object.Module._extensions..js (module.js:422:10)”,
  7. 2016-09-19T09:44:06.497023+00:00 app[web.1]:“在 Module.load (module.js:357:32)”,
  8. 2016-09-19T09:44:06.497023+00:00 app[web.1]:“在 Function.Module._load (module.js:314:12)”,
  9. 2016-09-19T09:44:06.497024+00:00 app[web.1]:“在 Module.require (module.js:367:17)”,
  10. 2016-09-19T09:44:06.497024+00:00 app[web.1]: "at require (internal/module.js:20:19)",
  11. 2016-09-19T09:44:06.497025+00:00 app[web.1]:“在 Object.(/app/app/index.js:16:15)”,
  12. 2016-09-19T09:44:06.497025+00:00 app[web.1]:“在 Module._compile (module.js:413:34)”,
  13. 2016-09-19T09:44:06.497026+00:00 app[web.1]:“在 Object.Module._extensions..js (module.js:422:10)”,
  14. 2016-09-19T09:44:06.497027+00:00 app[web.1]: "在 Module.load (module.js:357:32)",
  15. 2016-09-19T09:44:06.497027+00:00 app[web.1]:“在 Function.Module._load (module.js:314:12)”,
  16. 2016-09-19T09:44:06.497028+00:00 app[web.1]:“在 Module.require (module.js:367:17)”,
  17. 2016-09-19T09:44:06.497028+00:00 app[web.1]: "at require (internal/module.js:20:19)",
  18. 2016-09-19T09:44:06.497029+00:00 app[web.1]:“在 Object.(/app/server.js:4:17)”,
  19. 2016-09-19T09:44:06.497029+00:00 app[web.1]: "在 Module._compile (module.js:413:34)",
  20. 2016-09-19T09:44:06.497030+00:00 app[web.1]:“在 Object.Module._extensions..js (module.js:422:10)”,
  21. 2016-09-19T09:44:06.497030+00:00 app[web.1]:“在 Module.load (module.js:357:32)”,
  22. 2016-09-19T09:44:06.497031+00:00 app[web.1]:“在 Function.Module._load (module.js:314:12)”,
  23. 2016-09-19T09:44:06.497032+00:00 app[web.1]: "在 Function.Module.runMain (module.js:447:10)",
  24. 2016-09-19T09:44:06.497032+00:00 app[web.1]:“启动时 (node.js:148:18)”
  25. 2016-09-19T09:44:06.497033+00:00 应用[web.1]: ],
  26. 2016-09-19T09:44:06.497033+00:00 app[web.1]: "level": "error",
  27. 2016-09-19T09:44:06.497034+00:00 app[web.1]: "message": "uncaughtException: options.mongooseConnection.once 不是函数"
  28. 2016-09-19T09:44:06.497035+00:00 应用[web.1]: }

【问题讨论】:

  • 你能把你的mongoose连接代码吗?

标签: node.js mongodb heroku mongoose


【解决方案1】:

我认为您正在使用 connect 而不是 createConnection 方法创建猫鼬连接,这就是您收到此错误的原因。

.createConnection() 返回一个 Connection 实例。

.connect() 返回全局 mongoose 实例。

那么如果你想使用once方法那么你必须使用createConnection方法而不是connect方法

var db = mongoose.createConnection('MongoDB URL');
db.once('open', function() { ... });

【讨论】:

    猜你喜欢
    • 2021-05-14
    • 2013-01-18
    • 2020-07-03
    • 2019-10-16
    • 2021-04-20
    • 2015-05-27
    • 2021-06-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多