用猫鼬循环保存到mongodb

时间:2019-02-26 22:18:57

标签: node.js mongodb express mongoose

我想多次保存对象,但要更改日期字段-每次迭代增加一个月。

由于节点异步性质,for循环不起作用。

gcplogs

我已经看过关于promises /异步库的内容,但是无法实现有效的实现(尽管这是我的新手,所以可能会遗漏一些明显的东西)。

感谢您的帮助:)

编辑: Saving To MongoDB In A Loop

找到了与此相关的链接,但是如果有人有其他建议,那将是很好的。

编辑2:

仅仅意识到我的代码具有驼峰式和蛇形的情况,改变了我的代码以使所有对象数据变成蛇形的情况。

1 个答案:

答案 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
}