这只是一个简单的检查,如果集合不存在,则创建它并预先填充数据。这在我的本地机器上运行得很好,并且依赖于在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"
}
}
1条答案
按热度按时间ttcibm8c1#
没关系-我在Package.json文件中将Node更新到了0.10.x版本,这似乎修复了它。