欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

mongodb+springboot如何修改深層嵌套對(duì)象-創(chuàng)新互聯(lián)

mongodb+spring boot如何修改深層嵌套對(duì)象,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

在成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)過程中,需要針對(duì)客戶的行業(yè)特點(diǎn)、產(chǎn)品特性、目標(biāo)受眾和市場(chǎng)情況進(jìn)行定位分析,以確定網(wǎng)站的風(fēng)格、色彩、版式、交互等方面的設(shè)計(jì)方向。成都創(chuàng)新互聯(lián)公司還需要根據(jù)客戶的需求進(jìn)行功能模塊的開發(fā)和設(shè)計(jì),包括內(nèi)容管理、前臺(tái)展示、用戶權(quán)限管理、數(shù)據(jù)統(tǒng)計(jì)和安全保護(hù)等功能。

在最近的工作中使用到對(duì)mongodb深層嵌套對(duì)象的修改,研究了很久,故做此筆記。
1.開發(fā)環(huán)境:mongodb+spring boot項(xiàng)目,使用mongoTemplate進(jìn)行修改
2.數(shù)據(jù)為三層嵌套TopicModel——>TopicTableModel——>TopicColumnModel
3.修改代碼展示
(1)修改第二級(jí)TopicTableModel對(duì)象

@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)修改第三級(jí)(TopicColumnModel),需要先遍歷定位到修改的第三級(jí)對(duì)像的索引

@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<TopicModel> topicModels = mongoTemplate.find(query, TopicModel.class);
        for (int i = 0; i < topicModels.size(); i++) {
            if (topicModels.get(i).getId().equals(tmId)) {
                List<TopicTableModel> topicTableModels = topicModels.get(i).getTableList();
                for (int j = 0; j < topicTableModels.size(); j++) {
                    if (topicTableModels.get(j).getTableId().equals(tbId)) {
                        List<TopicColumnModel> 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;
    }

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)的支持。

當(dāng)前題目:mongodb+springboot如何修改深層嵌套對(duì)象-創(chuàng)新互聯(lián)
標(biāo)題路徑:http://chinadenli.net/article48/gscep.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)公司ChatGPT軟件開發(fā)網(wǎng)站排名搜索引擎優(yōu)化品牌網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司