我无法将状态从o更改为1.服务器返回500。我不知道出了什么问题我已经做好了为什么不推动它。
function changeAdminStatus(req, res, next){
getSuperAminById(req.params.id)
.then(function(data){
if(data.account.status == 1)
{
console.log(data);
Admin.findByIdAndUpdate(data._id, {
$push: {
'account.status' : 0
}
}, function(err, doc) {
if (err) {
res.sendStatus(500);
}
else if(doc) res.sendStatus(200);
else res.sendStatus(200);
}
);
}
答案 0 :(得分:0)
在第二行使用return会将结果带到下一行。然后
function changeAdminStatus(req, res, next){
return getSuperAminById(req.params.id)
.then(function(data){
if(data.account.status == 1)
{
console.log(data);
Admin.findByIdAndUpdate(data._id, {
$push: {
'account.status' : 0
}
}, function(err, doc) {
if (err) {
res.sendStatus(500);
}
else if(doc) res.sendStatus(200);
else res.sendStatus(200);
}
);
}
答案 1 :(得分:0)
您是否正在设置MongoDB
$push: {
'account.status' : 0
}
而不是
$push: {
'account' :{ 'status' : 0 }
}