![](/img/trans.png)
[英]Update document in Mongoose (update array property at specific index)
[英]Mongoose - express server update specific index in array of objects
我已經創建了一個自定義identifier
ID,我正在嘗試更新我的硬幣以及第一個數組 object 購買的 bool 為真。
這就是我的數據的樣子
[
{
"identifier": "123456789",
"coins": 100,
"equipments": [
{
"item": "itemname",
"price": 100,
"gold": 10,
"level": 1,
"condition": 100,
"purchased": false
},
{
"item": "itemname2",
"price": 80,
"gold": 8,
"level": 1,
"condition": 100,
"purchased": false
},
],
"__v": 0
}
]
這是我的更新路線
router.put("/update/:identifier", function(req,res){
User.find({identifier: req.params.identifier}, function(err, equipment) {
equipment.coins= 50;
equipment[0].equipments.purchased = true;
equipment[0].save(function (err) {
if (err) {
return res.status(400).send({
message: errorHandler.getErrorMessage(err)
});
} else {
res.json(equipment);
}
});
});
});
當我運行它時,什么也沒有發生,也沒有給出任何錯誤
這不是傳統的方法。 你需要這樣做。
router.put("/update/:identifier", function(req,res){ User.findOne({identifier: req.params.identifier}, function(err, equipment) { equipment.coins= 50; equipment.equipments.purchased = true; equipment.save(function (err) { if (err) { return res.status(400).send({ message: errorHandler.getErrorMessage(err) }); } else { res.json(equipment); } }); }); });
獎勵:我建議你使用findAndUpdateOne ()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.