Пн go совокупная сумма двух строк - PullRequest
0 голосов
/ 03 августа 2020

Я пытаюсь суммировать одно поле в пн go. Если это целое число, проблем нет, но проблема в том, что это String, и я получаю 0 для totalAmount

private Integer findRequestAmount(String agentId, String status, Date date, String amountField) {
        Aggregation aggregationAmount = Aggregation.newAggregation(
                Aggregation.match(
                        Criteria.where("rawRequest.agentId").is(agentId)
                                .and("status").is(status)
                                .and("dateCreated").gte(date)),
                Aggregation.group("rawRequest.agentId")
                        .sum(amountField).as("amount"),
                Aggregation.project().andExclude("_id"));
        HashMap results = mongoTemplate
                .aggregate(aggregationAmount, "underwritingRequest", HashMap.class)
                .getUniqueMappedResult();
        return results == null ? 0 : (Integer)results.get("totalAmount");
    }

amountField - это String, как я могу суммировать его в этой реализации

1 Ответ

2 голосов
/ 03 августа 2020

Вы получаете String amountField. Просто вы можете преобразовать эту строку в целое число, используя int x=Integer.parseInt(s) над агрегацией и использовать ее внутри агрегации.

...