2017-01-19 11 views
-2

私は自分自身のために、私がJava sparkの速度とmongodbを使って小さなwebshopを作ることを学んでいるプロジェクトに取り組んでいます。ショッピングカートが何らかの理由で同じタイトル(この場合sku)の2つを追加すれば、それはちょうど金額を取得して+1する必要があります。any1はどこに間違っているのか教えてください。毎回金額が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を2度見つけます。

代わりに、最初にskuを見つけたときにFORループから抜け出したいと思うかもしれません。だから、あなたのIFブラケットを休憩で終わらせてください。ステートメント。

HTH、 ジム

関連する問題