[英]updating(PUT) array in express js
i am using expressjs(nodejs). 我正在使用expressjs(nodejs)。 I am trying to store array data while updating existing data (
dealtype
& dealprice
), but unable to do so. 我正在尝试在更新现有数据(
dealtype
和dealprice
)时存储数组数据,但是无法这样做。
my existing dataset 我现有的数据集
{
"_id": "56a59a2923e047bc2128cd99",
"foodImageUrl": "modules/foods/client/img/food.jpg",
"deal": [
{
"_id": "56a59a2923e047bc2128cd9a",
"dealprice": "asd",
"dealtype": "asd"
}
],
"name": "ads",
"created": "2016-01-25T03:44:41.346Z"
}
my expressjs controller 我的expressjs控制器
exports.update = function (req, res) {
var food = req.food;
food.name = req.body.name;
food.deal.dealtype = req.body.deal.dealtype;
food.deal.dealprice = req.body.deal.dealprice;
food.foodImageUrl = req.body.foodImageUrl;
food.save(function (err) {
if (err) {
return res.status(400).send({
message: errorHandler.getErrorMessage(err)
});
} else {
res.json(food);
}
});
};
One way to update the existing document. 一种更新现有文档的方法。 First of all, find the document need to changed by
_id
or other key word. 首先,找到需要通过
_id
或其他关键字更改的文档。 here is one sample by _id
. 这是
_id
一个示例。
Food.findOne({_id: req.food._id}, function(err, food) {
food.name = req.body.name;
food.deal.dealtype = req.body.deal.dealtype;
food.deal.dealprice = req.body.deal.dealprice;
food.foodImageUrl = req.body.foodImageUrl;
food.save(function (err) {
if (err) {
return res.status(400).send({
message: errorHandler.getErrorMessage(err)
});
} else {
res.json(food);
}
});
});
Or just use the findOneAndUpdate
to update the existing document. 或者只是使用
findOneAndUpdate
来更新现有文档。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.