仅当收集的食物等于0时,下面的函数才会将数据添加到Food
集合中。这个想法是只能给数据库播种一次。
这很好用。但是,我不确定这是最佳做法。
我的问题:如果我想在数据库中添加更多数据怎么办?我可以简单地更改if语句以使其遍历数据,但这是处理此问题的正确方法吗?
function seedfoods() {
//add the foods to the database
Food.count([], function (err, count) {
console.log(count)
if (count === 0){
data.forEach(function(seedfoods){
Food.create(seedfoods, function(err, Food){
if(err){
console.log(err)
}
});
});
}
});
}
这是数据的样子:
var data = [
{
name: "Avocados",
easyFood: true,
phase1: true,
about: "Yum Avocados",
},
{
name: "Milk",
easyFood: true,
phase1: true,
about: "Yum Milk",
},
{
name: "Apples",
easyFood: true,
phase1: true,
about: "Yum Apples",
},
]
答案 0 :(得分:0)
您可能会在MongoDB中使用 upsert 功能,只需从种子数据中找到先前插入的文档,然后upsert将通过种子比较插入MongoDB中不存在的新数据。