2017-01-19 87 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