如何将for循环中的值推送到mongo文件?

时间:2019-05-30 06:15:15

标签: javascript mongodb mongoose

我想将每年的每一天都存储在Mongo数据库中。

我不太确定该怎么做。我一直在尝试使用$ push方法和.update方法。在这种情况下,它们似乎都不好。

我的控制器:

exports.reflux = (req, res) => {
    const newDay = new Calendar();

    for(let i=3; i<367; i++) {
        newDay({$push: {day: new Date(new Date().getFullYear(), 0, i), offWork: true, description: ' '}});

    }
    // for(let i=3; i<367; i++){
    //
    //     {$push: {newDay.day = new Date(new Date().getFullYear(), 0, i);}}
    //     newDay.day =
    //     newDay.offWork = true;
    //     newDay.description = '';
    // }

    newDay.save();

};

我希望输出结果是一年中每一天的文件。

2 个答案:

答案 0 :(得分:0)

好,完成。

exports.reflux = (req, res) => {
    for(let i=3; i<367; i++) {
        const newDay = new Calendar();
        newDay.day = new Date(new Date().getFullYear(), 0, i);
        newDay.offWork = true;
        newDay.description = '';

        newDay.save(err => {
            if(err) {
                console.log('error');
            }
        });

    }

答案 1 :(得分:0)

您可以使用

  

insertMany

首先(一整天)创建对象数组,然后插入

let days = [];
for(let i=3; i<367; i++) {
    days.push({day: new Date(new Date().getFullYear(), 0, i), offWork: true, description: ' '});
}

newDay.insertMany(days, function(err) {

});