欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

批量删除数据,

程序员文章站 2022-06-03 08:12:11
...

错误示范
var pi_library_del = function (req, res) {//yyy
var i18n = req.i18n;
var pi_id = req.body.pi_id;
//pi_id是一个全是ID的数组
PerformanceIndicatorClient.find({
_id :{
$in: pi_id
}
}).exec(function(err,pi){
async.times(pi&&pi.length,function(n,next){
if(err){
console.log(err)
return res.json({
code:’ERR’,
msg:’内部服务器错误:’ + err
})
}
if(pi[n].ref_num){
return res.json({
code :’ERR’,
msg: sprintf(‘指标%s 已经被使用,不能删除!’, pi[n].pi_name),
});
}else{
pi[n].terminated = true;
pi[n].is_sync = false;
pi[n].save(function (err, pi) {
if (err) {
return res.json({
code: ‘ERR’,
msg: msg,
});
}
return res.json({
code: ‘OK’,
msg: sprintf(‘指标 %s 删除成功!’, pi[n].pi_name),
});
})
}
},next)
},function(err,result){
if (err) {
res.json({
code: ‘ERR’,
msg: ‘删除成功!’
})
} else {
res.json({
code: ‘OK’,
msg: ‘删除失败!’
})
}
}
)
}

正确的 var pi_library_del = function(req, res) { //yyy
var i18n = req.i18n;
var pi_id = req.body.pi_id;
//pi_id是一个全是ID的数组
PerformanceIndicatorClient.find({
_id: {
$in: pi_id
}
}).exec(function(err, pis) {
if (err) {
console.log(err)
return res.json({
code: ‘ERR’,
msg: ‘内部服务器错误:’ + err
})
} else {
async.times(pis.length, function(n, next) {
var pi = pis[n];

                if (pi.ref_num) {
                    next(null, sprintf('指标<strong>%s</strong> 已经被使用,不能删除!', pi.pi_name));
                } else {
                    pi.terminated = true;
                    pi.is_sync = false;
                    pi.save(next)
                }
            }, function(err, result) {
                if (err) {
                    res.json({
                        code: 'ERR',
                        msg: i18n.t("app:common.save_fail"), //'保存失败!'
                    })
                } else {
                    res.json({
                        code: 'OK',
                        msg: i18n.t("app:common.save_success"), //'保存成功!'
                    })
                }
            })
        }
    })
}

正确的删除单个数据
var pi_library_del = function (req, res) {
var i18n = req.i18n;
var pi_id = req.body.pi_id;

PerformanceIndicatorClient.findById(pi_id, function (err, pi) {
    if (err) {
        return res.json({
            code: 'ERR',
            msg: '内部服务器错误:' + err
        });
    };
    if (pi) {
        if (pi.ref_num) {
            return res.json({
                code: 'ERR',
                msg: sprintf('指标 <strong>%s</strong> 已经被使用,不能删除!', pi.pi_name),
            });
        } else {
            pi.terminated = true;
            pi.is_sync = false;
            pi.save(function (err, pi) {
                if (err) {
                    return res.json({
                        code: 'ERR',
                        msg: msg,
                    });
                }
                return res.json({
                    code: 'OK',
                    msg: sprintf('指标 <strong>%s</strong> 删除成功!', pi.pi_name),
                });
            })
        }
    } else {
        return res.json({
            code: 'ERR',
            msg: '指标不存在'
        });
    };
})

}