使用nodejs-express js更新mongodb中的值



它的更新仅为false到true,不适用于true到false。我使用的是node.js mongodb和express.js

这是我的模式:

approve:{
type: Boolean, default: false
}

index.js

.post('/update', function(req, res, next) {
var id = req.body.id;
var value = req.value;
console.log(req.body);
var update_stock = stmodel.findByIdAndUpdate(id, { $set: { approve: "value" } });
update_stock.exec(function(err, doc) {
if (err) throw err;
});

我认为问题是当您试图将value设置为req.value时,它应该是req.body.value

var value = req.body.value;

此外,您必须确保valueBoolean,因为根据您的schema,它需要是Boolean,或者如果它是StringBoolean,您也可以处理它,如下所示:

let approve = value === "true" ? true : ( value === "false" ? false : undefined);
stmodel.findByIdAndUpdate(id, { $set: { approve: approve } });

最新更新