【问题标题】:MDN Nodejs/Express tutorial: how do I connect to the mlab database?MDN Nodejs/Express 教程:如何连接到 mlab 数据库?
【发布时间】:2017-12-31 06:59:22
【问题描述】:

供参考,教程如下:https://developer.mozilla.org/en-US/docs/Learn/Server-side/Express_Nodejs/mongoose

我一直在关注 mdn 上的 nodejs/express 教程,但由于我不断收到身份验证错误,因此无法完成此步骤(连接到 MongoDB)。

经过大约一个小时的研究,我意识到问题可能是由于 shell 版本不兼容;我的外壳是 3.6,而他们的外壳是 3.4。

我该如何解决这个问题? 我应该退出并使用不同的数据库主机(似乎很复杂)吗?如果有,你推荐哪个?

PS:我知道导致此错误的其他可能原因可能是 a)包含特殊字符的密码,或 b)在以下情况下使用我的用户名 而不是 db 用户名连接。 但是,我已经采取了必要的措施来确保情况并非如此。

【问题讨论】:

  • 如果我是你,我会使用本地安装的 MongoDB。设置它并不难,您将通过自己而不是使用外部服务来了解更多信息。
  • 向我们展示您用于连接的代码
  • var mongoose = require('mongoose');var mongoDB = 'insert_your_database_url_here'; mongoose.connect(mongoDB, { useMongoClient: true });mongoose.Promise = global.Promise;var db = mongoose.connection;db.on('error', console.error.bind(console, 'MongoDB connection error:'))
  • mongo 驱动程序不使用 shell 进行连接,因此不兼容的 shell 版本应该不是问题。显示您正在使用的代码和错误会很有帮助。我为 mLab 工作,我建议发送电子邮件至 support@mlab.com,因为我们可能能够就身份验证问题提供更深入的支持。我们总是很乐意提供帮助。
  • 感谢所有帮助。我最终接受了 Ganev 的建议并使用了本地安装

标签: javascript node.js mongodb express mlab


【解决方案1】:

很简单,mlab 默认开启用户认证。只需创建一个带密码的用户,他们在顶部给出了默认连接字符串。

其次,我是 Studio3t 用户,在创建连接期间,我有一个选项 From URITo URI,这对我来说更容易。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-02
    • 1970-01-01
    • 2019-04-29
    相关资源
    最近更新 更多