使用带有严格标志的db.collection在Heroku中不起作用

时间:2013-10-03 19:14:40

标签: javascript node.js heroku

这只是一个简单的检查,如果该集合不存在,则创建它并预先填充数据。这在我的本地方框上工作正常,并取决于在db.collection调用上设置的“strict”标志,如果coll不存在则会抛出错误。它不适用于Heroku,但有人知道为什么吗?

mongo.Db.connect(mongoUri, function (err, db) {
  if (!err)
  {
    console.log("Connected to Database")
    db.collection('collectionName', {strict:true}, function(er, collection) {
      if (!er)
      {
        console.log("Collection opened, ready for use!")
      } else {
        console.log("DATA DOES NOT EXIST, PREPOPULATING")
        populateDB();
      }
    });
  } else {
    console.log("Error connecting to database: " + err)
  }
});

的package.json

    {
    "name": "appname",
    "description": "Application",
    "version": "0.0.1",
    "private": true,
    "dependencies": {
        "express": "3.x",
        "mongodb": "1.3.x",
        "socket.io": "0.9.10"
    },
    "engines": {
        "node": "0.8.4",
        "npm": "1.1.49"
    }
}

1 个答案:

答案 0 :(得分:0)

没关系 - 我在package.json文件中将Node更新到版本0.10.x,这似乎解决了它。