如何在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。