mongodb 删除字段

news/2024/7/1 9:57:38

使用springboot mongodb工具,删除多余字段。

1、pom文件依赖

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-mongodb</artifactId>
        </dependency>

2、代码实现
topping、toppingTime是需要删除的字段。


import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
...
import org.springframework.data.domain.Sort;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.data.mongodb.core.query.Update;

import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.regex.Pattern;


    public ResponseBean noTopping(ThreadCommentVo threadCommentVo) {
        String source = threadCommentVo.getSource();
        String commentId = threadCommentVo.getCommentId();
        Query query = new Query(Criteria.where("commentId").is(commentId));
        ThreadCommentEntity threadCommentEntity = (ThreadCommentEntity) mongoUtils.getOneByCondition(query, ThreadCommentEntity.class, getCollection(source));
        System.out.println("threadCommentEntity = " + threadCommentEntity);
        if (threadCommentEntity == null || threadCommentEntity.getTopping() == null || threadCommentEntity.getTopping() != 1) {
            return ResponseBean.builder().code(-1).msg("failed").data("非置顶帖子").build();
        }

        Update update = new Update();
        // 删除topping、toppingTime字段
        update.unset("topping");
        update.unset("toppingTime");
        boolean ret = mongoUtils.update(query, update, ThreadCommentEntity.class, getCollection(source));
        return ResponseBean.builder().code(100).msg("success").data(ret).build();
    }

http://www.niftyadmin.cn/n/3656126.html

相关文章

关于Tangram的可视化设计支持

关于Tangram的可视化设计支持Tangram开源版本是Tangram系列中“最小”的版本&#xff0c;在这个版本中包含了Tangram的最基本的功能点&#xff0c;即软件UI框架的可视化设计。通常&#xff0c;软件开发者都是通过Coding的方式进行软件的框架设计&#xff0c;给定一个如下的UI框…

asList remove异常原因分析

使用Arrays.asList后&#xff0c;调用remove异常问题记录。 // 第一种String str "第一个,第二个,第三个,第四个,";List<String> list Arrays.asList(str.split(","));list.remove(1);// 第二种List<String> list2 new ArrayList<>()…

Microsoft Visual Basic for Application技术概要

Microsoft Visual Basic for Application技术概要众所周知&#xff0c;Visual Basic系列产品在Microsoft的产品线中占有非常独特的位置&#xff0c;从IE&#xff0c;到Office&#xff0c;乃至Visual Studio系列产品中总要配备一个基于Visual Basic的描述引擎以便进行功能扩展。…

mongodb 多表关联查询

需求 mongodb库中有三张表&#xff0c;需求&#xff1a;查询表A中的数据&#xff0c;但这些数据的threadId字段&#xff0c;不能存在于表B和表C中&#xff0c;做一个过滤查询&#xff0c;需要分页和排序。 mongodb 命令实现 {"aggregate": "__collection__&q…

WPF,一次洗牌……

WPF,一次洗牌……昨天&#xff0c;在CSDN上看一篇孟岩的文章&#xff0c;谈及WPF带来的震撼&#xff0c;其实&#xff0c;WPF对今天的开发者来讲&#xff0c;已经不是很新的概念了&#xff0c;在MSN里&#xff0c;也与部分朋友交流对WPF的看法。最早体验WPF&#xff0c;也许是在…

Tangram开源版本发布

Tangram开源版本发布经过一段难忘的忙碌&#xff0c;Tangram的第一个完整版本杀青了。回想来到北京的几年&#xff0c;可谓感慨万千&#xff0c;开发产品是心志的磨练&#xff0c;这话没错&#xff01;经历身体与身心的煎熬&#xff0c;使我深刻的意识到勇者有畏&#xff0c;但…

【MQTT】Esp32数据上传采集:最新mqtt插件(支持掉线、真机调试错误等问题)

前言 这是我在Dcloud发布的插件-最完整Mqtt示例代码&#xff08;解决掉线、真机调试错误等问题&#xff09;&#xff0c;经过整改优化和替换Mqtt的js文件使一些市场上出现的问题得以解决&#xff0c;至于跨端出问题&#xff0c;可能原因有很多&#xff0c;例如&#xff0c;合法…

implement 和 extends 的区别

extends&#xff1a;拓展; 扩大范围 implement&#xff1a;使生效 ; 贯彻 ; 执行 重点&#xff1a; extends 用在同类之间。比如&#xff1a;classC 继承 classA&#xff0c;interFaceC 实现 interFaceA。implement 用在非同类之间。比如&#xff1a;classC 实现 interFaceA的…