如何用mongodb和弹簧引导修改深层嵌套对象

  

如何用mongodb和弹簧引导修改深层嵌套对象?这篇文章运用了实例代码展示,代码非常详细,可供感兴趣的小伙伴们参考借鉴,希望对大家有所帮助。

1。开发环境:mongodb +弹簧启动项目,使用mongoTemplate进行修改
2。数据为三层嵌套TopicModel——祝辞TopicTableModel——祝辞TopicColumnModel
3。修改代码展示
(1)修改第二级TopicTableModel对象

 <代码> @Override
  ,,公共布尔updateTableModel (TopicTableModel tableModel) {
  ,,,=新的查询,查询查询();
  ,,,,query.addCriteria (Criteria.where (“tableList.tableId") . (tableModel.getTableId ()));
  ,,,这里,更新更新=新更新()(“tableList。.tableName"美元;,tableModel.getTableName ())
  ,,,,,,,,这里(“tableList。.tableComment"美元;,tableModel.getTableComment ())
  ,,,,,,,,这里(“tableList。.status"美元;,Integer.valueOf (tableModel.getStatus ()));
  ,,,,//这里(“tableList。.topicCode"美元;,tableModel.getTopicCode ());
  ,,,,UpdateResult tableUr=this.mongoTemplate。插入(查询、更新TopicModel.class);
  ,,,,如果(tableUr.getMatchedCount()比;0 l) | | (tableUr.getUpsertedId () !=null)) {
  
  ,,,,,,返回true;
  ,,,,}
  ,,,,返回错误;
  ,代码,} 

(3)修改第三级(TopicColumnModel),需要先遍历定位到修改的第三级对像的索引

 <代码> @Override
  ,,公共布尔updateColumnModel (TopicColumnModel TopicColumnModel,字符串tmId,字符串tbId) {
  ,,,=新的查询,查询查询();
  ,,,,query.addCriteria (Criteria.where (“tableList.tableId") . (tbId));
  ,,,,更新更新=new Update ();
  ,,,,ListtopicModels=mongoTemplate。找到(查询,TopicModel.class);
  ,,,,(int i=0;我& lt;topicModels.size ();我+ +){
  ,,,,,(我),如果(topicModels.get .getId () .equals (tmId)) {
  ,,,,,,,,ListtopicTableModels=topicModels.get (i) .getTableList ();
  ,,,,,,,,(int j=0;j & lt;topicTableModels.size ();j + +) {
  ,,,,,,,,,,如果(topicTableModels.get (j) .getTableId () .equals (tbId)) {
  ,,,,,,,,,,,,ListtopicColumnModels=topicTableModels.get (j) .getColList ();
  ,,,,,,,,,,,,(int k=0;k & lt;topicColumnModels.size ();k + +) {
  ,,,,,,,,,,,,,,如果(topicColumnModels.get (k) .getColId () .equals (topicColumnModel.getColId ())) {
  ,,,,,,,,,,,,,,,美元,update.set (“tableList。.colList !”+ k +“.colName", topicColumnModel.getColName ())
  ,,,,,,,,,,,,,,,,,,,,这里(“tableList。美元.colList !”+ k +“.desc1", topicColumnModel.getDesc1 ())
  ,,,,,,,,,,,,,,,,,,,,这里(“tableList。美元.colList !”+ k +“.desc2", topicColumnModel.getDesc2 ())
  ,,,,,,,,,,,,,,,,,,,,这里(“tableList。美元.colList !”+ k +“.internalMark", topicColumnModel.getInternalMark ())
  ,,,,,,,,,,,,,,,,,,,,这里(“tableList。美元.colList !”+ k +“.qualifierMark", topicColumnModel.getQualifierMark ())
  ,,,,,,,,,,,,,,,,,,,,这里(“tableList。美元.colList !”+ k +“.chineseName", topicColumnModel.getChineseName ())
  ,,,,,,,,,,,,,,,,,,,,这里(“tableList。美元.colList !”+ k +“.dataSource", topicColumnModel.getDataSource ())
  ,,,,,,,,,,,,,,,,,,,,这里(“tableList。美元.colList !”+ k +“.getRules", topicColumnModel.getGetRules ())
  ,,,,,,,,,,,,,,,,,,,,这里(“tableList。美元.colList !”+ k +“.dataType", topicColumnModel.getDataType ())
  ,null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null

如何用mongodb和弹簧引导修改深层嵌套对象