我试图在服务器上运行一个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?任何人都可以告诉我的方式吗?
由于
答案 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")
因此,我没有密码以明文形式存放在文件中。