async function()

in routes/doc.js [561:625]


        async function (req, res) {
            try {
                var q = req.querymen.query;

                var f = q[idpath];
                if (f) {
                    delete q[idpath];
                    for (k in q) {
                        if (q[k] === "") {
                            delete q[k]
                        }
                    }
                    if (Object.keys(q).length != 0) {

                        var d = new Date();
                        q.author = req.user.username;
                        q.updatedAt = d;
                        //console.log(q);
                        var fq = {};
                        fq[idpath] = f;
                        var docs = await Document.find(fq);
                        console.log(['Bulkd', Document])
                        var results = [];
                        for (var d of docs) {
                            var result = await Document.findByIdAndUpdate(
                                d._id, {
                                "$set": q,
                                "$inc": {
                                    __v: 1
                                }
                            }, {
                                "upsert": false,
                                "new": true
                            });
                            var r = onedoc.addModelHistory(History, d, result);
                            if (r) {
                                r.__v = r.__v + ' (' + _.get(result, idpath) + ')';
                                results.push(r);
                            }
                        }
                        res.render('changes', {
                            //textUtil: textUtil,
                            title: 'Bulk update results',
                            docs: results
                        });
                    } else {
                        res.render('blank', {
                            title: 'Error',
                            message: 'Error: No updates specified! Please select fields and values to update.'
                        });
                    }
                } else {
                    res.render('blank', {
                        title: 'Error',
                        message: 'Error: No items selected. Please select one or more items to update'
                    });
                }
            } catch (err) {
                req.flash('error', err);
                res.render('blank', {
                    title: 'Error',
                    message: 'failed bulk updates: ' + err.message
                });
            }
        });