Привет всем, у меня возникла проблема, и я надеюсь, что вы можете мне помочь. Поэтому я сохраняю свои пользовательские данные в коллекции пользователей.
This is my User schema.....
const userSchema = new mongoose.Schema({
username: String,
password: String,
googleId: String,
facebookId: String,
twitterId: String,
name: String,
userImg: String,
cart: [{
type: Object
}],
booking: [{
type: Object
}]
});
Теперь я добавляю продукт из своего меню к массиву корзины, который находится в схеме пользователя, и он работает нормально, но у меня возникла проблема, когда я хочу обновить количество продуктов со страницы моей корзины .. Я дал две кнопки + для увеличения количество и - для уменьшения количества. Также я дал удалить кнопку, чтобы удалить этот конкретный продукт из корзины.
code for the Increment, Decrement and Remove the food Item(from cart page)
<a href="/cartUpdate/<%=product.title %>?action=subtract">
<button class="btn btn-success" type="button" name="button">-</button>
</a>
<a href="/cartUpdate/<%=product.title %>?action=add">
<button class="btn btn-success" type="button" name="button">+</button>
</a>
<a href="/cartUpdate/<%=product.title %>?action=clear">
<button class="btn btn-danger" type="button" name="button">Remove</button>
</a>
Теперь моя проблема является то, что он не обновляет значение количества в базе данных, но кнопка удаления работает совершенно нормально, я не знаю, почему
// Update cart code
router.get("/cartUpdate/:product",isLoggedIn, (req, res) => {
var productName = req.params.product;
var userId = req.user.id;
var action = req.query.action;
User.findById(userId, (err,result)=>{
var cart = result.cart;
for (var i = 0; i < cart.length; i++) {
if (cart[i].title === productName) {
switch (action) {
case "add":
console.log(cart[i].qty);
cart[i].qty++;
console.log(cart[i].qty);
console.log(cart);
break;
case "subtract":
cart[i].qty--;
case "clear":
cart.splice(i, 1);
break;
default:
console.log("update problem");
break;
}
break;
}
}
result.save(err=>{
if(!err){
req.flash('success', "cart updated");
res.redirect("/cart");
}
});
console.log(result.cart);
})
});
Теперь, если кто-то может мне помочь ... Как мне обновить и сохранить количество в базе данных?