在Heroku中使用带有STRICIT标志的db.Collection不起作用

bhmjp9jg  于 2022-09-21  发布在  Node.js
关注(0)|答案(1)|浏览(165)

这只是一个简单的检查,如果集合不存在,则创建它并预先填充数据。这在我的本地机器上运行得很好,并且依赖于在db.Collection调用上设置的“Strong”标志,如果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"
    }
}
ttcibm8c

ttcibm8c1#

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

相关问题