gpt4 book ai didi

java - 循环不断覆盖java中mongodb更新("$max")的值

转载 作者:行者123 更新时间:2023-12-02 01:23:26 26 4
gpt4 key购买 nike

我有一个循环,可以迭代一小时内发生的事件。每个事件都有称为楼层和高度的字段。我的任务是获得每层楼高度的最大值。我希望得到一些建议。我还想知道是否可以使用更新中的 max 方法。

我尝试使用更新中的 max 方法,但是,当循环不断迭代时 maxHeight 不断被覆盖。另外,我尝试使用一些类变量来保存我需要的 maxHeight 值,但是,maxHeight 对于每个楼层应该是唯一的,并且使用全局变量在所有楼层中返回 maxHeight。

Query query = new Query();
Update update = new Update();

events.forEach(event -> {
getMaxHeight(update, tripEntity, tenant.toLowerCase());
});

mongoTemplate.upsert(query, update, "somecollection");
private void getMaxHeight(Update update, Event event) {
update.max(event.getFloor(), "maxHeight"), event.getHeight());
}

最佳答案

好吧,我最终在循环内移动了 upsert 并使用了 max。

    events.forEach(event -> {
Query query = new Query();
Update update = new Update();
getMaxHeight(update, tripEntity, tenant.toLowerCase());
mongoTemplate.upsert(query, update, "somecollection");
});

private void getMaxHeight(Update update, Event event) {
update.max(event.getFloor(), "maxHeight"), event.getHeight());
}

关于java - 循环不断覆盖java中mongodb更新("$max")的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57602605/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com