如何在OpenShift上从nodejs盒式磁带访问mongodbvariables?
我正在尝试将应用程序原型部署到openshift。 它可以在127.0.0.1的地方使用mongodb。 我试图让它在openshift环境中尊重process.env.OPENSHIFT_MONGODB_DB_URL
,但是在运行时我的nodejs盒式磁带无法访问该variables。
我可以看到它正在我的应用程序的shell环境中设置。 当我做rhc ssh
然后export
我看到OPENSHIFT_MONGODB_DB_URL=[full_url_with_password]
,它看起来不错。
但是,当我在node.js应用程序中调用process.env.OPENSHIFT_MONGODB_DB_URL
它返回undefined
。
为了仔细检查,我在node.js应用程序中执行了一个console.log(util.inspect(process.env))
,而我所看到的与我在appication的安全shell中看到的不同。 没有OPENSHIFT_MONGODB_ *variables是暴露给我的node.js应用程序的环境中。
如何访问不同墨盒的variables? 或者这是一个configuration错误?
这听起来像一个configuration错误。 我有一个类似的应用程序和
console.log(util.inspect(process.env))
给我一个清晰的mongodb环境variables的图片。
开发者页面指出:
数据库环境variables属于数据库(如果存在),并用于将应用程序连接到数据库。 请注意,这些连接仅适用于内部的应用程序; 您不能从外部来源连接。
这表明,对我来说,nodejs是mongodb安装的外部。 我有一个想法,它可以通过命令validation:
rhc app show OPENSHIFT_APP_NAME
这可能导致问题的根源。 正确configuration的应用程序将在此列表中有nodejs和mongodb。