Как сохранить каждый элемент в foreach, а не только последний элемент? - PullRequest
0 голосов
/ 18 сентября 2018
spliced.forEach((v) => {
    const val = v.split(',') //.slice(0, -2)
    formData.devID = val[0];
    formData.mobileno = val[1].slice(0, -1);

    //const cleanVal = [val[0], val[1].slice(0, -1)];
    req.body = formData;
    device.validate(formData, req.user, req.app.db.models, (error, result) => {
        let errorArr, resultArr = [];

        if (error) {
            errorArr.push(error)
        };

        if (result) {
            resultArr.push(result)
        };

        if (errorArr) {
            res.status(200).send({
                errors: [error]
            });
        } else {
            const formDataFull = new req.app.db.models.Device(formData);
            req.app.db.models.Device.bulkWrite([{
                        insertOne: {
                            formDataFull
                        }
                    },
                    {
                        ordered: false
                    }

                ])
                .then(function(device) {
                    console.log("created device err,", device);
                    workflow.emit('response');
                    res.status(200).send({
                        success: true
                    });

                })
                .catch(function(err) {
                    console.log("in catch err", err);
                    if (err.code == 11000) {
                        workflow.outcome.errors.push("Device Id already exists.");
                        return workflow.emit('response');
                    } else return workflow.emit('response', err);
                });
        }

    })
})

spliced ​​- это массив значений CSV.поэтому в приведенном выше коде сохраняется только последний объект, т. е. {formData}.каким образом я должен изменить свой код, чтобы foreach сохранял каждый элемент, а не только последний.

1 Ответ

0 голосов
/ 24 сентября 2018

Хорошо, эта проблема была решена просто с помощью цикла for.Некоторые люди отвечали, используя петли и карту, но, к сожалению, у меня ничего не получалось.Может быть, моя реализация кода была неправильной.Тем не менее, использование простого цикла for спасло день.спасибо всем.

PS.Это может работать, если вы используете счетчик для отслеживания обратных вызовов и выполнения вычислений после того, как счетчик равен количеству параметров в обратном вызове.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...