javascript - Meteor.js + 外部 Mongo。 Meteor 无法登录 Mongo

标签 javascript node.js mongodb ubuntu meteor

我有一个 meteor.js 应用程序 + mongo db (2.6)

我在 mongo 中创建了一个用户,如下所示:

use meteor
db.createUser(
  {
    user: "meteor",
    pwd: "password",
    roles:
    [
      {
        role: "userAdmin",
        db: "meteor"
      }
    ]
  }
)

这是我的mongodb.conf:

dbpath=/data/db
logpath=/var/log/mongodb/mongodb.log
logappend=true
port = 27017

当我设置auth = true时,我的 meteor 应用程序无法再连接到mongo。它说

异步函数回调异常:MongoError: auth failed

当身份验证为 true 时,当我尝试连接 RoboMongo 时,出现同样的错误。当身份验证为 false 时,我可以与 RoboMongo 连接。所以这与防火墙或其他什么无关。

我不明白,我可以做什么来打开 Mongo 中的授权,以便它可以让我登录。请帮忙。

最佳答案

这取决于您如何启动 Meteor。您需要告诉它要使用哪个 Mongo 实例,并提供正确的凭据,如下所示:

export MONGO_URL=mongodb://<username>:<password>@<host>:<port>/<db>

这就是我使用 Meteor 应用程序和专用 MongoDB 所做的事情,效果很好。但如果 R​​oboMongo 无法连接,则可能是 Mongo 配置有问题。您可以使用此命令在配置中启用身份验证:

mongod --auth --config /path/to/mongodb.conf

我假设您已经有一个管理员用户用于创建meteor用户,如果您在没有身份验证的情况下启动Mongo,然后匿名添加meteor用户并使用auth=true重新启动,您将会遇到问题。

关于javascript - Meteor.js + 外部 Mongo。 Meteor 无法登录 Mongo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24478330/

相关文章:

mongodb - 使用 MongoDB 查询用户相关排行榜

javascript - Puppeteer 框架请求

mongodb - 子文档中的 Mongoose 聚合管道连接字段

javascript - 将元素插入 DOM 的 JS 链接模式

javascript - 隐藏 <article> 如果有一个空的 src""with jquery

javascript - Passportjs 获取身份验证错误消息

javascript - 比较忽略特殊字符 "ä"的 JavaScript 字符串

mongodb - 链接基于时间的排序和限制问题

javascript - 如何防止用户超出 JSXGraph 中的某些坐标?

javascript - 我可以控制按 Enter 时触发哪个提交按钮吗?