Mongoose.save()只运行5次



我有一个代码,它通过我的House数据播种机映射月份关系,奇怪的是,它循环到最后,但只在月份模型中保存了5条记录

const insertMonths = houses.map((house, i) => {
const months = new Month({ year: "2021" });
months.save();
console.log(i);
return { ...house, months: months._id };
});
await House.insertMany(insertMonths);

我不知道是什么原因导致了这种行为。

我使用了Promise.all函数

const insertMonths = await Promise.all(
houses.map(async (house) => {
const createdHouse = await House.create(house);
const createdMonth = await Month.create({ year: "2021" });
const updateHouse = await House.findById(createdHouse);
updateHouse.yearlyDues.push(createdMonth._id);
await updateHouse.save();
const updateMonth = await Month.findById(createdMonth);
updateMonth.house = createdHouse._id;
await updateMonth.save();
})
);    const insertMonths = await Promise.all(
houses.map(async (house) => {
const createdHouse = await House.create(house);
const createdMonth = await Month.create({ year: "2021" });
const updateHouse = await House.findById(createdHouse);
updateHouse.yearlyDues.push(createdMonth._id);
await updateHouse.save();
const updateMonth = await Month.findById(createdMonth);
updateMonth.house = createdHouse._id;
await updateMonth.save();
})
);

我真的不知道如何让它完全发挥作用,但它可以让你进入承诺,精确定位价值观或其他什么,如果我错了,可以编辑。

最新更新