keystoneJs“未授权在keystone.app_updates上查询”

时间:2017-02-17 09:56:30

标签: mongodb keystone

我试图在服务器上运行一个keystoneJs项目,但它刚刚关闭。我在mongodb上用user:pwd创建了一个用户,并将配置添加到keystone的.env文件中,如doc所说:

MONGO_URI=mongodb://keystone:keystone@localhost:27017/keystone

它将成功与mongo cli联系在一起。

> use keystone
switched to db keystone
>  db.auth({user:"keystone",pwd:"keystone"})
1
----------------------------------------------
> show dbs
admin     0.000GB
keystone  0.000GB
local     0.000GB
log4net   0.143GB

但是楔石总是显示下面的错误。

------------------------------------------------
An error occurred applying updates, bailing on Keystone init.

Error details:
MongoError: not authorized for query on keystone.app_updates

我使用默认的mongodb在本地运行了一个keystone项目。 如何使用auth将keystone配置为mongodb?任何人都可以告诉我的方式吗?

由于

1 个答案:

答案 0 :(得分:0)

您的keystone应用可能没有获取.env文件。

另一种方法是在初始化keystone之前传递URI以设置keystone mongo选项。

keystone.set("mongo","mongodb://keystone:keystone@localhost:27017/keystone")

当我这样做时,我使用命令行arg设置密码,所以当我运行服务器时它看起来像: node keystone.js password

当我设置mongo uri时,它看起来像:

password = process.argv[2]
keystone.set("mongo","mongodb://keystone:"+password"+@localhost:27017/keystone")

因此,我没有密码以明文形式存放在文件中。