繁体   English   中英

Meteor.js +外部Mongo。 流星无法登录Mongo

[英]Meteor.js + external Mongo. Meteor cannot login into Mongo

我有一个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我的流星应用程序将无法再连接到mongo。 它说

Exception in callback of async function: MongoError: auth failed

当身份验证为true时,我尝试与RoboMongo连接时出现相同的错误。 当auth为false时,我可以与RoboMongo连接。 因此,它与防火墙无关。

我不明白,我该怎么做才能在Mongo中打开授权,以便它可以登录。 请帮忙。

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

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

这就是我一直在使用Meteor应用程序和专用的MongoDB进行操作的方式,并且效果很好。 但是,如果RoboMongo无法连接,则Mongo配置可能存在问题。 您可以使用以下命令在配置中启用身份验证:

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM