【发布时间】:2019-12-06 19:39:26
【问题描述】:
该函数从数据库中读取所有内容,但我无法更改数据库中我的 Voters 模型中“hasVoted”字段的值。
我想将值从 false 更改为 true。设置 data.hasVoted = true 后,我尝试了 console.log(data.hasVoted),它返回 true,但是当我检查我的数据库时,该值仍然是 false。
req.app.db.models.Voter.findOne({ cnic: req.body.cnic }, function(err, data) {
if (
data.name == req.body.name &&
data.cnic == req.body.cnic &&
data.voterid == req.body.voterid &&
data.hasVoted == false
) {
data.hasVoted = true;
var voteUrl = "/votingpage";
var votePayload = {
name: req.body.name,
cnic: req.body.cnic,
voterid: req.body.voterid,
constituency: data.constituency
};
req.app.db.models.Voter.updateOne(
{ cnic: votePayload.cnic },
{ $set: { hasVoted: true } }
);
res.cookie("votePayload", votePayload);
data.hasVoted = true;
console.log(data.hasVoted);
//return res.redirect(voteUrl);
} else {
res.redirect("/Votenotallowed");
}
});
【问题讨论】:
-
我也试过了,但没有效果:
req.app.db.models.Voter.updateOne({"cnic":votePayload.cnic},{$set:{hasVoted:true}});
标签: node.js mongodb express mongoose