@Override public void updateItemsIssues(Map<String, TestItemIssue> forUpdate) { Query query = query(where(ID).in(forUpdate.keySet())); Update update = new Update(); mongoTemplate.stream(query, TestItem.class).forEachRemaining(dbo -> { String currentId = dbo.getId(); TestItemIssue newValue = forUpdate.get(currentId); update.set(ISSUE_TYPE, newValue.getIssueType()); update.set(ISSUE_DESCRIPTION, newValue.getIssueDescription()); update.set(ISSUE_TICKET, newValue.getExternalSystemIssues()); update.set(ISSUE_ANALYZED, newValue.isAutoAnalyzed()); mongoTemplate.updateFirst(Query.query(Criteria.where(ID).is(currentId)), update, mongoTemplate.getCollectionName(TestItem.class) ); }); }