当前位置: 首页 > news >正文

Mongodb:业务应用(2)

需求:

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 {@AutowiredArticleSearchService articleSearchService;@PostMapping("/load")public ResponseResult getHistory(){return articleSearchService.getHistory();}}

2、service实现类

    /**查询搜索历史@return*/@Overridepublic 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删除搜索记录*/@Overridepublic 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、测试

相关文章:

Mongodb:业务应用(2)

需求&#xff1a; 1、获取保存到mongodb库中的搜索记录列表 2、实现删除搜索记录接口 保存搜索记录数据参考上篇Mongodb&#xff1a;业务应用&#xff08;1&#xff09;_Success___的博客-CSDN博客 获取记录列表 1、创建controller package com.heima.search.controller.v1;…...

DSO学习笔记

最近在学习DSO系列的代码&#xff0c;整理记录一下 DOS代码流程 TODO DSO跑kitti数据集 参考高翔大佬的LDSO中LDSO/examples/run_dso_kitti.cc&#xff0c;由于kitti数据集木有光度参数标定文件&#xff0c;其实最重要的就是相机内参文件camera.txt按照格式来就行了&#xff…...

【Windows 常用工具系列 5 -- 如何在网页(CSDN)中实现右上角及右下角数字显示】

文章目录 网页右上角/右下角标号写法 网页右上角/右下角标号写法 在网页撰写文章时经常遇到需要平方的写法&#xff0c;比如书写 X 的 2次方, 可以通过下面方法完成&#xff1a; <sup>x</sup> : x 上移到右上角;<sub>x</sub> : x 下移到右下角。 实…...

sql注入--报错注入

常用的简单测试语句和注释符号说明 sql语句的注释符号&#xff0c;是sq注入语句的关键点&#xff1a;常用 # 和 -- 1、# 和 --&#xff08;有个空格&#xff09;表示注释&#xff0c;可以使它们后面的语句不被执行。在url中&#xff0c;如果是get请求也就是我们在浏览器地址栏…...

Nginx常用功能

Nginx 介绍 Nginx 是开源、高性能、高可靠的 Web 和反向代理服务器&#xff0c;而且支持热部署&#xff0c;几乎可以做到 7 * 24 小时不间断运行&#xff0c;即使运行几个月也不需要重新启动&#xff0c;还能在不间断服务的情况下对软件版本进行热更新。性能是 Nginx 最重要的…...

【Express.js】express-validator

express-validator express.js 集成 express-validator进行数据校验 在最初的时候&#xff0c;对于请求的数据校验&#xff0c;我们是自定义一个中间件&#xff0c;然后在里面通过最原生的方式检验。在本节&#xff0c;我们将尝试用一种更优雅的方式进行数据校验。 准备工作…...

沁恒ch32V208处理器开发(三)GPIO控制

目录 GPIO功能概述 CH32V2x 微控制器的GPIO 口可以配置成多种输入或输出模式&#xff0c;内置可关闭的上拉或下拉电阻&#xff0c;可以配置成推挽或开漏功能。GPIO 口还可以复用成其他功能。端口的每个引脚都可以配置成以下的多种模式之一&#xff1a; 1 浮空输入 2 上拉输入…...

Jenkins 中 shell 脚本执行失败却不自行退出

Jenkins 中 执行 shell 脚本时&#xff0c;有时候 shell 执行失败了&#xff0c;或者判断结果是错误的&#xff0c;但是 Jenkins 执行完成后确提示成功 success 。 此时&#xff0c;可以通过条件判断来解决这个问题&#xff0c;让 Jenkins 强制退出并提示执行失败 failed 。 …...

2021年12月 C/C++(一级)真题解析#中国电子学会#全国青少年软件编程等级考试

第1题:输出整数部分 输入一个双精度浮点数f, 输出其整数部分。 时间限制:1000 内存限制:65536 输入 一个双精度浮点数f(0 < f < 100000000)。 输出 一个整数,表示浮点数的整数部分。 样例输入 3.8889 样例输出 3 下面是一个使用C语言编写的输出双精度浮点数整数部分…...

计算机网络 网络层 IPv4数据报

...

有哪些可以用于性能测试方法?【举例说明】

1.负载测试 在这里&#xff0c;负载测试指的是最常见的验证一般性能需求而进行的性能测试&#xff0c;在上面我们提到了用户最常见的性能需求就是“既要马儿跑&#xff0c;又要马儿少吃草”。因此负载测试主要是考察软件系统在既定负载下的性能表 现。我们对负载测试可以有如下…...

Linux进程管理命令

一、进程 程序由一条条指令构成&#xff0c;在运行一个程序的时候就是把这些指令从第一条执行到最后一条&#xff0c;而进程是一个正在运行的程序。 比如说&#xff0c;一个main.c文件是不可以直接运行的&#xff0c;对main.c进行编译链接之后生成一个main.exe&#xff08;在W…...

pytest 常用命令参数

-x 用例一旦失败或错误时就立即停止执行 共两条用例&#xff0c;运行第一条报错失败或报错&#xff0c;第二条就不会执行 pytest -vs -x test_pytest_study.py::TestCommon1 共2条用例&#xff0c;当执行到第一条失败时候&#xff0c;第二条不执行 --maxfailnum …...

从安装 Seata 开始的分布式事务之旅 springboot集成seata

从安装 Seata 开始的分布式事务之旅 介绍什么是 Seata&#xff1f; 安装 Seata Server下载 Seata Server 发行版配置Seata解压文件配置Seata的yml文件把配置文件config.txt加载到nacos上修改config.txt文件加载到nacos上 启动Seata服务正常启动查看启动日志打开控制台页面 启动…...

Laravel 使用mix引入本地样式文件 报错 Unable to locate Mix处理

刚下了一个bootstrap样式文件&#xff0c;mix引入了一下&#xff0c;直接报错&#xff1a; Unable to locate Mix file: /css/bootstrap.min.css. (View: D:\phpEnv\www\abc\resources\views\admin\noteAdd.blade.php)原来是需要 npm run dev 启动一下 ✔ Compiled Successfu…...

QT学习笔记-QT安装oracle oci驱动

QT学习笔记-QT安装oracle oci驱动 0、背景1、环境以及条件说明2、编译驱动2.1 下载oracle instant client2.2 编译qt oci驱动2.2.1 修改oci.pro2.2.2 MinGW64构建套件编译2.2.3 MSVC2019_64构建套件编译 3、访问数据库运行成功 0、背景 在使用QT开发应用的过程中&#xff0c;往…...

【React学习】—类的基本知识(五)

【React学习】—类的基本知识&#xff08;五&#xff09; <script>// 创建一个Person类class Person{//构造器方法constructor(name,age){this.namename;this.ageage;}//一般方法speak(){//speak方法一般放在哪里&#xff1f;类的原型上&#xff0c;供实例使用//通过Pers…...

【AI】《动手学-深度学习-PyTorch版》笔记(十六):自定义网络层、保存/加载参数、使用GPU

AI学习目录汇总 1、自定义网络层 自定义网络层很简单,三步即可完成 继承类:nn.Module定义初始化函数:__init__中定义需要初始化的代码定义向前传播函数:forward1.1 不带参数的网络层 1)定义网络层 import torch import torch.nn.functional as F from torch import nn…...

微软杀入Web3:打造基于区块链的AI产品

作者&#xff1a;秦晋 2023年1月&#xff0c;微软向 ChatGPT 创建者 OpenAI 投资 100 亿美元&#xff0c;在AI业界引发格外关注。此举也让微软在AI的战略探索上提前取得有利位置。 2023年3月&#xff0c;微软软件工程师 Albacore 披露微软正在为Edge 浏览器测试内置的非托管加密…...

聊聊51单片机

目录 1.介绍 2.发展 3.应用领域 4.发展前景 1.介绍 51单片机&#xff08;AT89C51&#xff09;是一种常见的8位微控制器&#xff0c;属于Intel MCS-51系列。它是一种低功耗、高性能的单片机&#xff0c;广泛应用于嵌入式系统中。 51单片机具有很多特点和功能&#xff0c;例如…...

二叉树和表达式树的实现

二叉树的介绍二叉树是树这种数据结果的一种特殊情况&#xff0c;其每个节点的子节点树不能超过两个&#xff0c;二叉树差不多就是树中最常用的特殊结构了。二叉树的分类满二叉树国外定义&#xff1a;由度为0和2的结点构成的树&#xff0c;没有度为1的节点。国内定义&#xff1a…...

LeetCode 123. Best Time to Buy and Sell Stock III 题解

LeetCode 123. Best Time to Buy and Sell Stock III 题解 题目描述 给定一个数组&#xff0c;它的第 i 个元素是一支给定的股票在第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你最多可以完成 两笔 交易。 注意&#xff1a; 你不能同时参与多笔交易&#xff08;你…...

MATLAB等高线图进阶:从基础绘制到高级定制化

1. 等高线图基础绘制与核心参数解析 第一次接触MATLAB等高线图时&#xff0c;我被它展现三维数据的能力惊艳到了。记得当时处理一组地质勘探数据&#xff0c;需要可视化地下矿藏分布&#xff0c;contour函数只用三行代码就解决了问题&#xff1a; [X,Y] meshgrid(-3:0.1:3); Z…...

从菜鸟到高手:我的Abaqus壳单元S4R、S3R、S8R选择心路历程

从菜鸟到高手&#xff1a;我的Abaqus壳单元S4R、S3R、S8R选择心路历程 第一次打开Abaqus的单元库时&#xff0c;我被琳琅满目的壳单元类型晃花了眼。S4R、S3R、S8R、STRI65、S9R5...这些看似随意的字母数字组合&#xff0c;背后却隐藏着影响仿真精度的关键密码。作为一名从土木…...

wechat-need-web浏览器扩展解决方案:跨平台微信网页版访问技术实现

wechat-need-web浏览器扩展解决方案&#xff1a;跨平台微信网页版访问技术实现 【免费下载链接】wechat-need-web 让微信网页版可用 / Allow the use of WeChat via webpage access 项目地址: https://gitcode.com/gh_mirrors/we/wechat-need-web wechat-need-web是一款…...

ESP8266 I2C通信避坑指南:从SHT30读取失败到BH1750数据不准的常见问题排查

ESP8266 I2C通信实战避坑指南&#xff1a;从硬件连接到协议调试的完整解决方案 当你第一次尝试用ESP8266通过I2C总线连接传感器时&#xff0c;可能会遇到各种令人困惑的问题——传感器无响应、数据读取为0、数值异常波动&#xff0c;甚至I2C地址扫描不到。这些问题往往让开发者…...

技术服务定位器的依赖查找机制

技术服务定位器的依赖查找机制解析 在现代软件开发中&#xff0c;依赖查找机制是框架设计的核心之一&#xff0c;尤其在微服务架构和模块化开发中&#xff0c;技术服务定位器&#xff08;Service Locator&#xff09;通过动态解析依赖关系&#xff0c;为系统提供灵活性和可扩展…...

别再只盯着EOC中断了!聊聊STM32 ADC模拟看门狗在电机控制中的妙用

别再只盯着EOC中断了&#xff01;聊聊STM32 ADC模拟看门狗在电机控制中的妙用 电机控制系统中&#xff0c;电流监测的实时性和可靠性直接关系到硬件安全和系统稳定性。当大家都在讨论EOC中断时&#xff0c;ADC的模拟看门狗&#xff08;Analog Watchdog&#xff09;功能却常常被…...

DeepSeek LeetCode 1755 最接近目标值的子序列和 public int minAbsDifference(int[] nums, int goal)

这个问题可以通过将数组分成两半并枚举所有子序列和&#xff0c;然后排序和二分查找来高效解决&#xff0c;时间复杂度为 O(2^{n/2} \cdot n)。算法思路1. 将数组 nums 分成两部分 left 和 right&#xff0c;长度分别为 n/2 和 n - n/2。 2. 分别枚举两部分的所有子序列&#x…...

终极macOS窗口置顶工具:Topit完整指南,让你的多任务效率提升300%

终极macOS窗口置顶工具&#xff1a;Topit完整指南&#xff0c;让你的多任务效率提升300% 【免费下载链接】Topit Pin any window to the top of your screen / 在Mac上将你的任何窗口强制置顶 项目地址: https://gitcode.com/gh_mirrors/to/Topit 你是否经常在Mac上工作…...