如何用mongodb和spring boot修改深层嵌套对象
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,如何用mongodb和spring boot修改深层嵌套对象?这篇文章运用了实例代码展示,代码非常详细,可供感兴趣的小伙伴们参考借鉴,希望对大家有所帮助。1.开发环境:mongodb+spring b
千家信息网最后更新 2026年11月03日如何用mongodb和spring boot修改深层嵌套对象
如何用mongodb和spring boot修改深层嵌套对象?这篇文章运用了实例代码展示,代码非常详细,可供感兴趣的小伙伴们参考借鉴,希望对大家有所帮助。
1.开发环境:mongodb+spring boot项目,使用mongoTemplate进行修改
2.数据为三层嵌套TopicModel-->TopicTableModel-->TopicColumnModel
3.修改代码展示
(1)修改第二级TopicTableModel对象
@Override public boolean updateTableModel(TopicTableModel tableModel) { Query query = new Query(); query.addCriteria(Criteria.where("tableList.tableId").is(tableModel.getTableId())); Update update = new Update().set("tableList.$.tableName", tableModel.getTableName()) .set("tableList.$.tableComment", tableModel.getTableComment()) .set("tableList.$.status", Integer.valueOf(tableModel.getStatus())); // .set("tableList.$.topicCode", tableModel.getTopicCode()); UpdateResult tableUr = this.mongoTemplate.upsert(query, update, TopicModel.class); if ((tableUr.getMatchedCount() > 0L) || (tableUr.getUpsertedId() != null)) { return true; } return false; }(3)修改第三级(TopicColumnModel),需要先遍历定位到修改的第三级对像的索引
@Override public boolean updateColumnModel(TopicColumnModel topicColumnModel, String tmId, String tbId) { Query query = new Query(); query.addCriteria(Criteria.where("tableList.tableId").is(tbId)); Update update = new Update(); List topicModels = mongoTemplate.find(query, TopicModel.class); for (int i = 0; i < topicModels.size(); i++) { if (topicModels.get(i).getId().equals(tmId)) { List topicTableModels = topicModels.get(i).getTableList(); for (int j = 0; j < topicTableModels.size(); j++) { if (topicTableModels.get(j).getTableId().equals(tbId)) { List topicColumnModels = topicTableModels.get(j).getColList(); for (int k = 0; k < topicColumnModels.size(); k++) { if (topicColumnModels.get(k).getColId().equals(topicColumnModel.getColId())) { update.set("tableList.$.colList." + k + ".colName",topicColumnModel.getColName()) .set("tableList.$.colList."+ k +".desc1", topicColumnModel.getDesc1()) .set("tableList.$.colList." + k +".desc2", topicColumnModel.getDesc2()) .set("tableList.$.colList." + k +".internalMark", topicColumnModel.getInternalMark()) .set("tableList.$.colList." + k +".qualifierMark", topicColumnModel.getQualifierMark()) .set("tableList.$.colList." + k +".chineseName", topicColumnModel.getChineseName()) .set("tableList.$.colList." + k +".dataSource", topicColumnModel.getDataSource()) .set("tableList.$.colList." + k +".getRules", topicColumnModel.getGetRules()) .set("tableList.$.colList." + k +".dataType", topicColumnModel.getDataType()) .set("tableList.$.colList." + k +".dataLength", topicColumnModel.getDataLength()) .set("tableList.$.colList." + k +".pkey", topicColumnModel.isPkey()) .set("tableList.$.colList." + k +".index", topicColumnModel.isIndex()) .set("tableList.$.colList." + k +".nullAble", topicColumnModel.isNullAble()) .set("tableList.$.colList." + k +".unique", topicColumnModel.isUnique()) .set("tableList.$.colList." + k +".colComment", topicColumnModel.getColComment()) .set("tableList.$.colList." + k +".defaultValue", topicColumnModel.getDefaultValue()) .set("tableList.$.colList." + k +".check", topicColumnModel.getCheck()) .set("tableList.$.colList." + k +".attributeType", topicColumnModel.getAttributeType()); } } } } } } UpdateResult tableUr = this.mongoTemplate.updateFirst(query, update, TopicModel.class); if ((tableUr.getMatchedCount() > 0L) || (tableUr.getUpsertedId() != null)) { return true; } return false; } 看完这篇文章,你们学会用mongodb和spring boot修改深层嵌套对象了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读。
对象
代码
深层
更多
篇文章
兴趣
内容
实例
小伙
小伙伴
技能
数据
环境
索引
行业
资讯
资讯频道
项目
频道
j++
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
哈尔滨大商圈互联网科技有限公司
互联网是第几次科技革命的成果
互联网科技工作委员会主任
高科技互联网
互联网最新的科技
互联网科技与金融科技
喔噻互联网科技
世界互联网领先科技成果
互联网科技上市公司
睿民互联网科技
济南华为互联网科技产业总部基地
新华互联网科技2019
来此购互联网科技有限公司
济南有互联网科技公司吗
工业互联网科技成果转化
福州德业互联网科技
万物互联网智能科技
银川新华互联网科技学校原画
互联网的黑科技实验室
科技美学互联网 艺术
互联网与科技
中关村互联网 科技集团
科技互联网龙头
万易互联网科技
期待互联网科技
互联网与未来科技
互联网为啥属于高科技
昊天互联网科技有限公司
米聚互联网科技南京有限公司排面
科技互联网公司两年变化