所以我正在为自己制作一个项目,我正在学习使用java spark velocity和mongodb创建一个小型网上商店,现在我正处于可以添加和删除购物车中的商品的地步,但出于某种原因,如果我添加2个相同的标题(在这种情况下为sku)它应该只获得金额+1并且可以任意告诉我哪里出错了?
for (int i = 0 ; i < list.size(); i++){
if (Objects.equals(list.get(i).getSku(), sku)){
Integer newamount = list.get(i).getAmount() + 1;
newList.append("sku", list.get(i).getSku());
newList.append("price", list.get(i).getPrice());
newList.append("amount", newamount);
DBObject dbObject = new BasicDBObject("shopping_cart", newList);
coll.update(new BasicDBObject("email", email), new BasicDBObject("$push", dbObject));
答案 0 :(得分:0)
您正在逐步浏览整个列表数组,并找到两次sku。
相反,您可能希望在第一次找到sku时突破FOR循环。所以,休息一下你的IF支架;言。
HTH, 吉姆