node.js - 如何将我的 mongodb 与 Bluemix 上的 NODEjs 应用程序连接?

标签 node.js mongodb ibm-cloud monk nosql

我已尝试使用以下 VCAP_SERVICES 代码:

if (process.env.VCAP_SERVICES) {
      var env = JSON.parse(process.env.VCAP_SERVICES);
      if (env['mongodb-2.2']) {
        var mongo = env['mongodb-2.2'][0]['credentials'];
      }
    } else {
           var mongo = {
              "username" : "user1",
              "password" : "secret",
              "url" : "mongodb://user1:secret@localhost:27017/test"
     }
}

//With this as the connector
var MongoClient = mongodb.MongoClient;
var db= MongoClient.connect(mongo.url, function(err, db) {
  if(err) {
    console.log("failed to connect to the database");
  } else {
    console.log("connected to database");
  }

但它一直抛出“TypeError : Cannot read property “url” of underfined “

我尝试使用 Monk 作为连接器,给出:

var monk = require('monk');
 var db = monk(mongo.url);

这也会引发相同的错误。我可能错误地使用了 mongo 对象。

最佳答案

看起来 mongo.url 没有定义,请尝试像下面这样重构您的代码。

var mongo = {};

if (process.env.VCAP_SERVICES) {
    var env = JSON.parse(process.env.VCAP_SERVICES);
    if (env['mongodb-2.2']) {
        mongo['url'] = env['mongodb-2.2'][0]['credentials']['uri'];
    }
    } else {
           var mongo = {
              "username" : "user1",
              "password" : "secret",
              "url" : "mongodb://user1:secret@localhost:27017/test"
     }
}

//With this as the connector
var MongoClient = mongodb.MongoClient;
var db = MongoClient.connect(mongo.url, function(err, db) {
if(err) {
    console.log("failed to connect to the database");
} else {
    console.log("connected to database");
}

关于node.js - 如何将我的 mongodb 与 Bluemix 上的 NODEjs 应用程序连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25781609/

相关文章:

git - 如何使用 Git token 通过 Travis CI/Cloudfoundry 访问私有(private)存储库?

c# - IAsyncCursor 如何与 mongodb c# 驱动程序一起用于迭代?

java - 使用 WebSockets 的 IBM Watson 语音转文本

node.js - 我可以将 session 缓存服务用于 Node.js 应用程序吗?

node.js - 我可以使用swank-js在js2模式下完成node.js API吗?

python - 为什么在两个键的查询中单个索引比复合索引更快? (MongoDB,多键)

node.js - 用 Node 读取 MongoDB

node.js - 使用 http-proxy-middleware 重写路径

javascript - 是否可以克隆 ES6 promise ?

javascript - 使用 Node js每秒加载一次查询