当前位置: 首页 > 面试题库 >

MongoDB更新到3.0后Heroku应用程序崩溃

冀望
2023-03-14
问题内容

MongoDB刚刚强制将我的Heroku服务器上的更新从2.6更新为3.0

现在,我的应用在启动后不久因以下错误而崩溃:

2015-10-01T10:22:27.405579+00:00 heroku[web.1]: State changed from crashed to starting
2015-10-01T10:22:42.457971+00:00 heroku[web.1]: Starting process with command `node server`
2015-10-01T10:22:46.278159+00:00 app[web.1]: memory, and will not scale past a single process.
2015-10-01T10:22:46.278136+00:00 app[web.1]: Warning: connect.session() MemoryStore is not
2015-10-01T10:22:46.278157+00:00 app[web.1]: designed for a production environment, as it will leak
2015-10-01T10:22:47.151118+00:00 app[web.1]: production server running at http://localhost:33827
2015-10-01T10:22:47.463775+00:00 heroku[web.1]: State changed from starting to up
2015-10-01T10:22:47.767430+00:00 app[web.1]: /app/node_modules/mongodb/lib/mongodb/connection/base.js:246
2015-10-01T10:22:47.767437+00:00 app[web.1]:         throw message;
2015-10-01T10:22:47.767439+00:00 app[web.1]:               ^
2015-10-01T10:22:47.767441+00:00 app[web.1]: MongoError: auth failed
2015-10-01T10:22:47.767443+00:00 app[web.1]:     at Object.toError (/app/node_modules/mongodb/lib/mongodb/utils.js:114:11)
2015-10-01T10:22:47.767444+00:00 app[web.1]:     at /app/node_modules/mongodb/lib/mongodb/db.js:1156:31
2015-10-01T10:22:47.767445+00:00 app[web.1]:     at /app/node_modules/mongodb/lib/mongodb/db.js:1890:9
2015-10-01T10:22:47.767447+00:00 app[web.1]:     at Server.Base._callHandler (/app/node_modules/mongodb/lib/mongodb/connection/base.js:448:41)
2015-10-01T10:22:47.767449+00:00 app[web.1]:     at /app/node_modules/mongodb/lib/mongodb/connection/server.js:481:18
2015-10-01T10:22:47.767450+00:00 app[web.1]:     at MongoReply.parseBody (/app/node_modules/mongodb/lib/mongodb/responses/mongo_reply.js:68:5)
2015-10-01T10:22:47.767452+00:00 app[web.1]:     at null.<anonymous> (/app/node_modules/mongodb/lib/mongodb/connection/server.js:439:20)
2015-10-01T10:22:47.767453+00:00 app[web.1]:     at emit (events.js:107:17)
2015-10-01T10:22:47.767455+00:00 app[web.1]:     at null.<anonymous> (/app/node_modules/mongodb/lib/mongodb/connection/connection_pool.js:201:13)
2015-10-01T10:22:47.767456+00:00 app[web.1]:     at emit (events.js:110:17)
2015-10-01T10:22:47.767458+00:00 app[web.1]:     at Socket.<anonymous> (/app/node_modules/mongodb/lib/mongodb/connection/connection.js:439:22)
2015-10-01T10:22:47.767459+00:00 app[web.1]:     at Socket.emit (events.js:107:17)
2015-10-01T10:22:47.767461+00:00 app[web.1]:     at readableAddChunk (_stream_readable.js:163:16)
2015-10-01T10:22:47.767462+00:00 app[web.1]:     at Socket.Readable.push (_stream_readable.js:126:10)
2015-10-01T10:22:47.767463+00:00 app[web.1]:     at TCP.onread (net.js:538:20)
2015-10-01T10:22:48.687613+00:00 heroku[web.1]: Process exited with status 1
2015-10-01T10:22:48.704259+00:00 heroku[web.1]: State changed from up to crashed

我检查了他们的状态页,发现Mongo已将其服务器更新为3.0版,而且该更新现在应该稳定了,因此这是我需要做的事情。

在看了一些之后。我发现应该安装新的“驱动程序”以与3.0版兼容。

我发现此链接http://docs.mongodb.org/manual/release-notes/3.0-scram/#upgrade-
drivers

但这并没有描述我如何才能在Heroku应用程序上更新驱动程序。

我正在使用他们的沙盒服务器。

我尝试联系他们的支持人员,但他们只是给了我相同的链接。

我也联系了Heroku支持。但是他们只说:

您需要确保用于Mongo的库支持新版本的Mongo 3.0。不一定是这样的“司机”

这也无济于事。

如果有帮助,这是我的package.json的内容。

{
  "name": "Stocks",
  "private": true,
  "version": "0.0.1",
  "main": "server.js",
  "engines": {
    "node": "0.12.x",
    "npm": "*"
  },
  "author": "Anom <anom@gmail.com",
  "dependencies": {
    "aws-sdk": "*",
    "body-parser": "^1.10.1",
    "connect": "^3.3.5",
    "connect-flash": "^0.1.1",
    "ejs": "^2.2.1",
    "express": "^4.11.0",
    "express-session": "^1.10.1",
    "forever": "*",
    "grunt": "^0.4.5",
    "grunt-cli": "^0.1.13",
    "grunt-contrib-jshint": "^0.11.2",
    "grunt-contrib-sass": "^0.9.2",
    "grunt-contrib-uglify": "^0.8.1",
    "grunt-contrib-watch": "^0.6.1",
    "grunt-express-server": "^0.5.1",
    "grunt-ssh": "^0.12.3",
    "gulp": "latest",
    "mongoose": "3.8.19",
    "multer": "^0.1.8",
    "node-sass": "^2.1.1",
    "nodemailer": "^1.3.4",
    "passport": "^0.2.1",
    "passport-local": "^1.0.0",
    "postmark": "^1.0.0",
    "request": "^2.55.0",
    "stripe": "^3.3.4"
  },
  "devDependencies": {},
  "scripts": {
    "start": "node server"
  }
}

我们将不胜感激任何帮助我弄清楚如何在Heroku应用程序上更新驱动程序以使其与新的3.0 MongoDB兼容。


问题答案:

您正在使用猫鼬3.8.19。猫鼬的最新版本是4.1.9。我将从这里开始:

$ npm install --save --save-exact mongoose@4.1.9


 类似资料:
  • 我的应用程序似乎总是在部署后崩溃。 2015-07-21T13:29:28.127452+00:00 Heroku[router]:at=error code=h10 desc=“应用程序崩溃”method=get path=“/api/v1/sessions”host=calm-hamlet-5165.herokuapp.com request_id=69711e3a-913e-45ed-b4b

  • 我昨天更新了Android studio到2.3.1和gradle wrapper到Gradle-3.3-all。更新后,我的应用程序停止正确构建,并不断崩溃后,安装在设备。 我尝试使用gradlew installMockDebug安装应用程序,但它无法运行。我禁用了即时运行,正如在其他帖子中提到的,但没有帮助。有什么办法可以修好它吗? 编辑:我的build.gradle文件是:

  • 因此,我阅读了有关部署的内容,并多次尝试在Heroku上部署。不能让它工作。 错误日志: 2017-02-13T04:48:13.132359+00:00Heroku[Web.1]:状态从崩溃更改为启动 2017-02-13T04:48:17.100053+00:00Heroku[Web.1]:使用命令启动进程 2017-02-13T04:48:20.884225+00:00Heroku[Web.

  • 升级到Flatter 3.0版后,我的项目在第一次运行时崩溃。请参阅下面的日志。求你了,我需要帮助。 在调试模式下在IA模拟器上的AOSP上启动lib/main.dart... ✓内置构建/应用程序/输出/flutter-apk/app-debug.apk. 正在连接ws://127 . 0 . 0 . 1:41249/Xu B1 pru 2 wgq =/ws I/Choreographer(62

  • 我创建了一个spring boot web应用程序(在IntelliJ IDEA中),它在本地运行没有问题。 我试图将应用程序部署到heroku完全按照本走查中描述的步骤:https://devcenter.heroku.com/articles/deploying-spring-boot-apps-to-heroku 注意:演练没有提到Procfile,所以我没有创建Procfile。 当在浏览

  • 我使用npm模块进行了测试:backend.js上的“node-dev”和文件夹根目录上的“serve”。 我有两个指南试图帮助我: 和另一个来自Scotch.io的“在Heroku上使用MongoDB和node.js应用程序” 我在文章中没有做的不应该很重要:在tilcode中,它说使用github生成一个SSH密钥...相反,我用我的mac做了一个,用一些指南做了一个终端命令。 总结一下我的步