我想多次保存对象,但要更改日期字段-每次迭代增加一个月。
由于节点异步性质,for循环不起作用。
gcplogs
我已经看过关于promises /异步库的内容,但是无法实现有效的实现(尽管这是我的新手,所以可能会遗漏一些明显的东西)。
感谢您的帮助:)
编辑: Saving To MongoDB In A Loop
找到了与此相关的链接,但是如果有人有其他建议,那将是很好的。
编辑2:
仅仅意识到我的代码具有驼峰式和蛇形的情况,改变了我的代码以使所有对象数据变成蛇形的情况。
答案 0 :(得分:1)
我认为您可以做类似的事情:
const saveMany = async (req, res, obj, data) => {
let saves = [];
if (data.frequency === 'monthly') {
let i = 0;
for (let i = 0; i < data.reccuring_length; i++) {
const newEntry = new obj(data);
if (i != 0) newEntry.created_date.addMonths(1) //using datejs
try{
const entry= await newEntry.save();
saves.push(entry);
} catch(err) {
return res.status(400).send({ message: err });
}
}) //end of for loop
return res.json(saves)
} //end of if
}