Я пишу веб-сайт Shop-Ecomerce.Я хочу добавить товар в свою корзину, поэтому есть два обстоятельства: 1. Товар с таким идентификатором находится в корзине => добавить больше количества (решено) 2. Товар не существует => создать новый Так как проверить, еслипродукт (с определенным идентификатором) существует в корзине?Я использую другую переменную (пусть существует) для проверки, но она, кажется, не работает (из-за обещания, я думаю)
// Add product to cart
router.post('/add', checkToken, (req, res) => {
let _idProduct = req.body._idProduct;
let quantity = req.body.quantity;
let exist = false;
Cart
.findOne({ user: req.decoded.userId })
.exec()
.then(cart => {
cart.items.map(item => {
// Product exist => add more quantity
if (item.product == _idProduct) {
item.quantity += quantity;
}
})
// How to check if no product with that id in Cart ??
cart.save(err => console.log(err));
res.json({
cart: cart
})
})
.catch(err => { console.log(err)});
})
Модель корзины
var Cart = new mongoose.Schema({
user: { type: mongoose.Schema.Types.ObjectId, ref: 'User' },
items: [
{
product: { type: mongoose.Schema.Types.ObjectId, ref: 'Product' },
quantity: { type: Number }
}
],
})