【问题标题】:Seems like the amount increases by 2 everytime好像每次都增加2
【发布时间】:2023-04-11 09:28:01
【问题描述】:

所以我正在为自己做一个项目,我正在学习使用 java spark velocity 和 mongodb 制作一个小型网上商店,现在我可以在购物车中添加和删除项目,但出于某种原因,如果我添加 2 个相同的标题(在这种情况下为 sku)它应该只得到数量并执行 +1,any1 可以告诉我哪里出错了吗?

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));

【问题讨论】:

    标签: java mongodb velocity spark-java


    【解决方案1】:

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

    相反,您可能希望在第一次找到 sku 时跳出 FOR 循环。所以,用一个休息来结束你的 IF 括号;声明。

    HTH, 吉姆

    【讨论】:

      猜你喜欢
      • 2015-12-16
      • 2023-03-18
      • 2020-08-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-09
      • 2016-12-24
      • 2018-11-04
      相关资源
      最近更新 更多