@Override public void updateBaiduAccountInfo(BaiduAccountInfoDTO dto) { MongoTemplate mongoTemplate = BaseMongoTemplate.getSysMongo(); String currUser = AppContext.getUser(); Update update = new Update(); if (dto.getBudget() != null) update.set("bdAccounts.$.bgt", dto.getBudget()); if (dto.getIsDynamicCreative() != null) update.set("bdAccounts.$.dc", dto.getIsDynamicCreative()); if (dto.getExcludeIp() != null) update.set("bdAccounts.$.exIp", dto.getExcludeIp()); mongoTemplate.updateFirst( Query.query(Criteria.where("userName").is(currUser).and("bdAccounts._id").is(dto.getId())), update, getEntityClass()); }