Mongodb:业务应用(2)

news2025/2/12 15:43:30

需求:

1、获取保存到mongodb库中的搜索记录列表

2、实现删除搜索记录接口

保存搜索记录数据参考上篇Mongodb:业务应用(1)_Success___的博客-CSDN博客

获取记录列表

 1、创建controller

package com.heima.search.controller.v1;

import com.heima.model.common.dtos.ResponseResult;
import com.heima.search.service.ArticleSearchService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

@RestController
@RequestMapping("/api/v1/history")
public class SearchHistoryController {
    
    @Autowired
    ArticleSearchService articleSearchService;

    @PostMapping("/load")
    public ResponseResult getHistory(){
        return articleSearchService.getHistory();
    }

}

2、service实现类

    /**
     查询搜索历史
     @return
     */
    @Override
    public ResponseResult getHistory() {
        
        //查询当前用户下面的搜索记录
        Integer userId = AppThreadLocalUtil.getUser().getId();
        //构造条件
        Query query = Query.query(Criteria.where("userId").is(userId));
        //执行查询
        List<ApUserSearch> list = mongoTemplate.find(query, ApUserSearch.class);
        //返回数据
        return ResponseResult.okResult(list);
    }

3、测试

        返回成功         

根据id删除搜索记录 

1、实现controller

    @PostMapping("/del")
    public ResponseResult delHistory(@RequestBody ApUserSearch userSearch){
        return articleSearchService.del(userSearch);
    }

2、service实现类

    /*根据id删除搜索记录*/
    @Override
    public ResponseResult del(HistorySearchDto dto) {

        //检查参数
        if(dto == null){
            return ResponseResult.errorResult(AppHttpCodeEnum.NEED_LOGIN);
        }
        //检查登录状态
        Integer userId = AppThreadLocalUtil.getUser().getId();
        if(userId == null){
            return ResponseResult.errorResult(AppHttpCodeEnum.NEED_LOGIN);
        }

        //执行删除
        mongoTemplate.remove(Query.query(Criteria.where("userId")
                .is(userId).and("id").is(dto.getId())),ApUserSearch.class);
        return ResponseResult.okResult(AppHttpCodeEnum.SUCCESS);
    }

3、测试

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/864218.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

工业软件Halcon的常用功能及常用工具展示

工业软件Halcon的常用功能及常用工具展示 1.BLOB特征2.BLOB差分特征3.光度立体4.特征训练5. 测量拟合6. 频域空间域结合法7.深度学习法总结 1.BLOB特征 官方示例子&#xff1a;surface_scratch.hdev 该程序显示了通过局部阈值和形态学后处理提取表面划痕&#xff0c;一共分为三…

MVVM下的Jetpack核心组件

前言 Jetpack 架构组件及 “标准化开发模式” 确立&#xff0c;意味着Android 开发已步入成熟阶段&#xff0c;只有对 MVVM 确有深入理解&#xff0c;才能自然而然写出标准化、规范化代码。 本次笔者会浅入浅出的介绍以下内容&#xff0c;由于它是一个我的学习总结记录&#…

动力节点|老杜Vue完整版教程,轻松掌握前端火爆框架

Vue拥有非常好的可用性和可组合性、试图像用户提供最少的API和尽可能的自然行为。 Vue之所以如此受欢迎和火爆&#xff0c;主要是由于以下几个原因&#xff1a; 1. 更简单的使用方式&#xff1a;Vue的API设计易于学习和使用&#xff0c;他的响应式系统可以自动追踪依赖关系&am…

[Idea热部署]两秒钟学会热部署

两者同时适配好,保证没有问题 哈&#xff0c;谢谢各位同志的阅读&#xff0c;然后呢如果觉得本文对您有所帮助的话&#xff0c;还给个免费的赞捏 Thanks♪(&#xff65;ω&#xff65;)&#xff89;

信息安全:防火墙技术原理与应用.

信息安全&#xff1a;防火墙技术原理与应用. 防火墙是网络安全区域边界保护的重要技术。为了应对网络威胁&#xff0c;联网的机构或公司将自己的网络与公共的不可信任的网络进行隔离&#xff0c;其方法是根据网络的安全信任程度和需要保护的对象&#xff0c;人为地划分若干安全…

安装Qt选择组件

最近在做Qt相关的开发&#xff0c;首先搭建开发环境&#xff0c;刚开始对组件这块不是很熟悉&#xff0c;需要了解这方面的知识&#xff0c;写下来主要是方便记住关于选择组件的说明&#xff0c;Qt版本是最新的长期维护版本&#xff0c;版本号&#xff1a;6.5.2 一、选择要安装…

辽宁线上3D三维虚拟工厂生产仿真系统应用场景及优势

工厂虚拟仿真是一种基于计算机技术和虚拟现实技术的数字化解决方案&#xff0c;它可以通过模拟工厂中的设备、流程和操作&#xff0c;来为工程师和操作人员提供了一个沉浸式的虚拟环境&#xff0c;帮助他们更好地了解和优化工厂生产过程。 工厂VR三维可视化技术为工业生产提供了…

warning: remember to run ‘libtool --finish /usr/local/1/php-7.4.29/libs

ubuntu上php7.4.33编译安装完成后警告报错&#xff0c;如下所示 # /usr/local/apache2/apr/build-1/libtool --finish /usr/local/soft/php-7.4.33/libs # vim /etc/ld.so.conf.d/local.conf /usr/local/lib /usr/lib64 # ldconfig 或者安装依赖服务&#xff0c;重新编译 #…

typecho 全站开启Https证书访问

原文地址:https://zhuoyue360.com/jyjl/107.html typecho 全站开启Https证书访问 https://zhuoyue360.com/ 网站已经很久没更新了, 最近决定重新把博客捡起来. 今天把ssl证书倒腾了一下,做个小记录! 1. 前提步骤 拥有SSL证书已将域名解析到服务器上&#xff0c;并配置了 Ngi…

电子企业MES管理系统的选型要素有哪些

随着全球电子行业的快速发展&#xff0c;电子企业面临着日益激烈的竞争和不断变化的市场需求。为了应对这种挑战&#xff0c;许多电子企业开始考虑引入MES管理系统解决方案来提高生产效率和管理水平。然而&#xff0c;在选择适合的MES生产管理系统之前&#xff0c;电子企业需要…

CTF之流量分析之密码文件

题目地址&#xff1a;BUUCTF在线评测 题目&#xff1a; 深夜里&#xff0c;Hack偷偷的潜入了某公司的内网&#xff0c;趁着深夜偷走了公司的秘密文件&#xff0c;公司的网络管理员通过通过监控工具成功的截取Hack入侵时数据流量&#xff0c;但是却无法分析出Hack到底偷走了什…

java面试总结(一)SnailClimb/JavaGuide

晚上标题党太多&#xff0c;拿着各种免费资料来收费&#xff0c;各种加微信购买解密密码的充斥百度搜索。 博主无套路分享&#xff1a; 阿里10w字Java面试手册 JAVA核心面试知识整理 1000道专题Java面试题手册 Java 基础 知识点/面试题总结 : (必看 Java 基础常见知识点…

c语言每日一练(5)

前言&#xff1a;每日一练系列&#xff0c;每一期都包含5道选择题&#xff0c;2道编程题&#xff0c;博主会尽可能详细地进行讲解&#xff0c;令初学者也能听的清晰。每日一练系列会持续更新&#xff0c;暑假时三天之内必有一更&#xff0c;到了开学之后&#xff0c;将看学业情…

创建和使用角色(RHCE)

题目&#xff1a; 创建和使用角色 根据下列要求&#xff0c;在 /home/curtis/ansible/roles 中创建名为 apache 的角色&#xff1a; httpd 软件包已安装&#xff0c;设为在系统启动时启用并启动 防火墙已启用并正在运行&#xff0c;并使用允许访问 Web 服务器的规则 模板文件 i…

【办公自动化】使用Python一键提取PDF中的表格到Excel

&#x1f935;‍♂️ 个人主页&#xff1a;艾派森的个人主页 ✍&#x1f3fb;作者简介&#xff1a;Python学习者 &#x1f40b; 希望大家多多支持&#xff0c;我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4ac;点赞&#x1f4…

【调整奇数偶数顺序】

调整奇数偶数顺序 1.题目 输入一个整数数组&#xff0c;实现一个函数&#xff0c; 来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分&#xff0c; 所有偶数位于数组的后半部分。 2.题目分析 这道题首先用到的方法是冒泡排序的思想&#xff0c;首先通过冒泡排序…

Redis安装配置远程连接

1. yum 安装 redis&#xff1a; 直接使用命令&#xff0c;将 redis 安装到 linux 服务器中&#xff1a; yum -y install redis 2. 启动 redis&#xff1a; 在 xshell 里&#xff0c;可以使用下面命令&#xff0c;以后台方式启动 redis&#xff1a; [rootVM-8-17-centos /]…

Linux网络编程套接字(上)

目录 预备知识 理解源IP地址和目的IP地址 &#xff1a; 认识端口号&#xff1a; 理解"端口号"和"进程ID" 认识TCP/UDP协议 TCP: UDP : 网络字节序 Socket编程接口 Socket常见API&#xff1a; Sockaddr结构: 简单的UDP网络程序 实现一个简单…

全面讲解|DCMM数据管理能力成熟度及各地政策汇总

信息技术与经济社会的交汇融合引发了数据爆发式增长。数据蕴含着重要的价值&#xff0c;已成为国家基础性战略资源&#xff0c;正日益对全球生产、流通、分配、消费活动以及经济运行机制、社会生活方式和国家治理能力产生重要影响。数据价值发挥的前提是管理好数据&#xff0c;…

断点重传、错误自动重传,优秀的文件传输工具应该具备这些特性

在当今的信息时代&#xff0c;文件传输是我们日常工作和生活中不可或缺的一项功能。无论是发送照片、视频、文档等个人文件&#xff0c;还是交换设计图、合同、报告等商业文件&#xff0c;我们都需要依靠各种文件传输工具来实现。但是&#xff0c;文件传输并不总是一帆风顺的&a…