2017-01-19 49 views
-2

所以我正在为自己的项目工作,我正在学习使用java spark speed和mongodb制作一个小网店,现在我处于可以添加和删除项目的位置购物车,但由于某种原因,如果我添加2个相同的标题(在这种情况下sku),它应该只是获得金额,并做到+1,任何1可以告诉我我要去哪里错了?似乎每次增加2的数量

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

您正在遍历整个列表数组,并找到您的sku两次。

相反,当您第一次找到sku时,您可能想要跳出FOR循环。所以,结束你的IF支架休息一下;声明。

HTH, Jim