mongoose.connect('mongodb://localhost:27017/smartphones');
mongoose.connection.on('error', console.error.bind(console, 'MongoDB connection error:'));
var smartphones = [
new Smartphone({
title: "V3",
usp: "20MP Softlight Camera",
image_path: "/image/phone_v3max.png",
qty: 1,
price: 200
}),
new Smartphone({
title: "V5",
usp: "Feel the Real Speed",
image_path: "/image/phone_v5.png",
qty: 1,
price: 450
})
];
var done = 0;
for(var i = 0; i < smartphones.length; i++) {
smartphones[i].save(function(err, result) {
done++;
if(done === smartphones.length) {
exit();
}
});
}
function exit() {
mongoose.disconnect();
}
当我在本地使用Nodejs App时,我可以通过运行命令行来运行和播种包含在项目中的数据文件(smartphoneIndex-Seedder.js)。但是,当应用程序被推送到Heroku时,应该如何做到这一点,我如何从那里播种数据?应用程序正在运行,但不幸的是,通过种子数据运行的页面不会显示在我的页面上。任何人都知道如何连接种子日期,以便我的整个应用程序可以正常运行。
发布于 2017-11-18 00:11:14
在我看来,您需要某种预启动过程。在告诉应用程序开始侦听端口之前,您可能希望编写一些可执行的代码。这段代码将查看数据库,查看是否存在任何数据,如果不存在,它将调用一些代码(例如将数据推送到应用程序中的smartphoneIndex-seeder函数。
一旦做出决定,您就可以调用普通的app.listen() express代码了。
https://stackoverflow.com/questions/47351096
复制相似问题