2017-02-17 105 views
0

我试图在服务器上运行一个keystoneJs项目,但它只是down.I在用户:pwd在mongodb上创建了一个用户,并将该配置添加到keystone的.env文件中像DOC说:keystoneJs“未授权在keystone.app_updates上查询”

MONGO_URI=mongodb://keystone:[email protected]:27017/keystone

它连接与蒙戈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 

但是,keystone总是显示下面的错误。

------------------------------------------------ 
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

这可能是你的梯形程序是不拾取.ENV文件。

另一种方法是在初始化keystone之前通过URI来设置keystone mongo选项。

keystone.set("mongo","mongodb://keystone:[email protected]:27017/keystone")

当我做到这一点我设定一个命令行ARG的密码,这样当我运行它看起来像服务器: node keystone.js password

而当我设了蒙哥URI,它看起来像:

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

就这样,我没有一个密码坐在一个文件中的明文。