springboot中使用Java代码进行MongoDB集合数据备份
有时候mongo的集合中数据量太大,查询或翻页时可能会超过最大数量报错,可以给mongo的集合进行备份并保留最近一段时间的数据即可
下面是通过Java代码进行mongo的集合备份单元测试
import cn.hutool.core.date.DateUtil;
import com.nuoyi.study.dao.mongo.po.BehaviorLogPo;
import lombok.extern.slf4j.Slf4j;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.mongodb.core.MongoTemplate;import java.util.Date;
import java.util.List;/*** @desc: mongo备份单元测试* @Author: nuoyi* @Date: 2023/11/7 2:39 下午*/
@SpringBootTest(classes = App.class)
@Slf4j
public class MongoBackTest {private final static String CollectionName = "NuoYi_Study_Behavior_Log";@Autowiredprivate MongoTemplate mongoTemplate;/*** mongo指定集合备份* */@Testpublic void test(){long s = System.currentTimeMillis();String targetCollectionName = CollectionName +"_"+ DateUtil.format(new Date(),"yyyy_MM");// 创建备份集合A(如果不存在)if (!mongoTemplate.collectionExists(targetCollectionName)) {mongoTemplate.createCollection(targetCollectionName);}// 获取源集合B的数据并备份到集合AList<BehaviorLogPo> documents = mongoTemplate.findAll(BehaviorLogPo.class, "NuoYi_Study_Behavior_Log");mongoTemplate.insert(documents,targetCollectionName);long e = System.currentTimeMillis();System.out.println("数据备份完成!");System.out.println("总共耗时:"+(e-s));}}
可以看到数据备份成功,在navicat中也能看到有125条数据
可配合定时器每月或每季度的凌晨备份数据并删除原集合中以往的数据,保留最近一段时间的数据即可,在生产中最好让DB或运维来操作备份数据库
相关文章:

springboot中使用Java代码进行MongoDB集合数据备份
有时候mongo的集合中数据量太大,查询或翻页时可能会超过最大数量报错,可以给mongo的集合进行备份并保留最近一段时间的数据即可 下面是通过Java代码进行mongo的集合备份单元测试 import cn.hutool.core.date.DateUtil; import com.nuoyi.study.dao.mongo…...

JavaEE的渊源
JavaEE的渊源 1. JavaEE的起源2. JavaEE与Spring的诞生3. JavaEE发展历程(2003-2007)4. JavaEE发展历程(2009-至今)5. Java的Spec数目与网络结构 1. JavaEE的起源 我们首先来讲一下JavaEE的起源 ,为什么要来讲起源 ? …...
html中使用JQ自定义锚点偏移量
问题:一般情况下使用href跳转达到效果。如果页面中头部固定住了,点击瞄点的时候自动是最上面,头部会给它覆盖掉一部分,所以要在点击之后额外再加头部高度 <a href"#aa">Technical Documents</a><div id&…...

032、数据增广*
之——泛化性提升 杂谈 深度学习的数据增强(Data Augmentation)是一种技术,用于通过对原始数据进行多样性的变换和扩充,以增加训练数据的多样性,提高模型的泛化能力。这有助于减轻过拟合问题,提高深度学习模…...

力扣最热一百题——盛水最多的容器
终于又来了。我的算法记录的文章已经很久没有更新了。为什么呢? 这段时间都在更新有关python的文章,有对python感兴趣的朋友可以在主页找到。 但是这也并不是主要的原因 在10月5号我发布了我的第一篇博客,大家也可以看见我的每一篇算法博客…...

备份扫描工具 god_bak
Part1 前言 不想写东西,或者说换种说法 有些东西还没写完,有些系列也还没整完。就放一个昨天摸鱼写的东西。 如图,每个系列都还是会按照自己的风格来写,代码审计实战等都会结合自己挖掘或审计过的案例进行结合知识点的风格去写&…...
软考 系统架构设计师系列知识点之数字孪生体(2)
接前一篇文章:软考 系统架构设计师系列知识点之数字孪生体(1) 所属章节: 第11章. 未来信息综合技术 第5节. 数字孪生体技术概述 2. 数字孪生体的定义 AFRL(Air Force Research Laboratory,美国空军研究实…...

CSS实现文本左右对齐
因为文本里面有中午符号,英文,英文符号等,导致设置宽度以后右侧凌乱,可以通过以下代码设置样式,让文本工整对齐。 让我们看一下设置前和设置后的对比图片: 效果图如下:(左边是设置…...

利用exec命令进入docker容器时的报错问题
进入Docker 容器 docker exec [CONTAINER ID] bin/bash报错问题 一、详细报错信息 执行docker exec -it [containerId] /bin/bash报错: OCI runtime exec failed: exec failed: unable to start container process: exec: "/bin/bash": stat /bin/ba…...
Java 与C++ 语言的一些区别
Java 与C 语言的一些区别 前言不同之外 前言 之前用C、C 的多,目前开始学习和接触 Java ,拿Java和C 做一个对比,帮助快速掌握Java的开发。 不同之外 数据类型的差别: java中 byte 类型类似于c/c 中的char类型 boolean 与C 的bo…...
npm ERR! network ‘proxy‘ config is set properly. See: ‘npm help config解决方法
这个错误提示通常表示在使用 npm 安装包时出现了网络连接问题。具体来说,可能是由于以下原因之一: 你的网络连接不稳定或者被防火墙拦截了。你的计算机设置了代理,但是 npm 没有正确配置代理。npm 的配置文件中的 registry 配置不正确&#…...
An Empirical Study of Instruction-tuning Large Language Models in Chinese
本文是LLM系列文章,针对《An Empirical Study of Instruction-tuning Large Language Models in Chinese》的翻译。 汉语大语言模型指令调整的实证研究 摘要1 引言2 指令调整三元组3 其他重要因素4 迈向更好的中文LLM5 结论局限性 摘要 ChatGPT的成功验证了大型语…...
[MICROSAR Adaptive] --- 开发环境准备
Ubuntu 20.04/22.04版本默认的cmake版本不超过3.19,gcc/g++为9.x版本 而ap开发要求cmake版本大于3.19,gcc/g++版本为gcc-7 1 安装高版本cmake cmake源码下载路径 https://cmake.org/files/tar zxvf cmake-3.19.2.tar.gz cd cmake-3.19.2 ./bootstrap --prefix=/usr/local …...
Yolov5 batch 推理
前言 想要就有了 代码 import shutil import time import traceback import torchimport os import cv2 class PeopleDetect(object):def __init__(self, repo_or_dir, weight_path, confidence) -> None:self.model torch.hub.load(repo_or_dir, "custom", p…...

【ARFoundation学习笔记】ARFoundation基础(下)
写在前面的话 本系列笔记旨在记录作者在学习Unity中的AR开发过程中需要记录的问题和知识点。难免出现纰漏,更多详细内容请阅读原文。 文章目录 TrackablesTrackableManager可跟踪对象事件管理可跟踪对象 Session管理 Trackables 在AR Foundation中,平面…...

《UML和模式应用(原书第3版)》2024新修订译本部分截图
DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 机械工业出版社即将在2024春节前后推出《UML和模式应用(原书第3版)》的典藏版。 受出版社委托,UMLChina审校了原中译本并做了一些修订。同比来说&a…...

JSP 学生成绩查询管理系统eclipse开发sql数据库serlvet框架bs模式java编程MVC结构
一、源码特点 JSP 学生成绩查询管理系统 是一套完善的web设计系统,对理解JSP java编程开发语言有帮助,比较流行的servlet框架系统具有完整的源代码和数据库,eclipse开发系统主要采用B/S模式 开发。 java 学生成绩查询管理系统 代码下载链接…...

技术分享 | app自动化测试(Android)-- 属性获取与断言
断言是 UI 自动化测试的三要素之一,是 UI 自动化不可或缺的部分。在使用定位器定位到元素后,通过脚本进行业务操作的交互,想要验证交互过程中的正确性就需要用到断言。 常规的UI自动化断言 分析正确的输出结果,常规的断言一般包…...
flutter实现上拉到底部加载更多数据
实现上拉加载数据,效果如下: flutter滚动列表加载数据 使用的库主要是infinite_scroll_pagination , 安装请查看官网 接口用的是https://reqres.in/提供的接口 请求接口用到的库是dio 下面主要是介绍如何使用infinite_scroll_pagination实现上拉加载…...

UE4 Niagara Module Script 初次使用笔记
这里可以创建一个Niagara模块脚本 创建出来长这样 点击号,输出staticmesh,点击它 这样就可以拿到对应的一些模型信息 这里的RandomnTriCoord是模型的坐标信息 根据坐标信息拿到位置信息 最后的Position也是通过Map Set的号,选择Particles的P…...

微信小程序 - 手机震动
一、界面 <button type"primary" bindtap"shortVibrate">短震动</button> <button type"primary" bindtap"longVibrate">长震动</button> 二、js逻辑代码 注:文档 https://developers.weixin.qq…...

Unity | AmplifyShaderEditor插件基础(第七集:平面波动shader)
目录 一、👋🏻前言 二、😈sinx波动的基本原理 三、😈波动起来 1.sinx节点介绍 2.vertexPosition 3.集成Vector3 a.节点Append b.连起来 4.波动起来 a.波动的原理 b.时间节点 c.sinx的处理 四、🌊波动优化…...
大语言模型(LLM)中的KV缓存压缩与动态稀疏注意力机制设计
随着大语言模型(LLM)参数规模的增长,推理阶段的内存占用和计算复杂度成为核心挑战。传统注意力机制的计算复杂度随序列长度呈二次方增长,而KV缓存的内存消耗可能高达数十GB(例如Llama2-7B处理100K token时需50GB内存&a…...

Docker 本地安装 mysql 数据库
Docker: Accelerated Container Application Development 下载对应操作系统版本的 docker ;并安装。 基础操作不再赘述。 打开 macOS 终端,开始 docker 安装mysql之旅 第一步 docker search mysql 》〉docker search mysql NAME DE…...
【JavaSE】多线程基础学习笔记
多线程基础 -线程相关概念 程序(Program) 是为完成特定任务、用某种语言编写的一组指令的集合简单的说:就是我们写的代码 进程 进程是指运行中的程序,比如我们使用QQ,就启动了一个进程,操作系统就会为该进程分配内存…...

Ubuntu系统多网卡多相机IP设置方法
目录 1、硬件情况 2、如何设置网卡和相机IP 2.1 万兆网卡连接交换机,交换机再连相机 2.1.1 网卡设置 2.1.2 相机设置 2.3 万兆网卡直连相机 1、硬件情况 2个网卡n个相机 电脑系统信息,系统版本:Ubuntu22.04.5 LTS;内核版本…...
用鸿蒙HarmonyOS5实现国际象棋小游戏的过程
下面是一个基于鸿蒙OS (HarmonyOS) 的国际象棋小游戏的完整实现代码,使用Java语言和鸿蒙的Ability框架。 1. 项目结构 /src/main/java/com/example/chess/├── MainAbilitySlice.java // 主界面逻辑├── ChessView.java // 游戏视图和逻辑├── …...

Excel 怎么让透视表以正常Excel表格形式显示
目录 1、创建数据透视表 2、设计 》报表布局 》以表格形式显示 3、设计 》分类汇总 》不显示分类汇总 1、创建数据透视表 2、设计 》报表布局 》以表格形式显示 3、设计 》分类汇总 》不显示分类汇总...
codeforces C. Cool Partition
目录 题目简述: 思路: 总代码: https://codeforces.com/contest/2117/problem/C 题目简述: 给定一个整数数组,现要求你对数组进行分割,但需满足条件:前一个子数组中的值必须在后一个子数组中…...
数据库优化实战指南:提升性能的黄金法则
在现代软件系统中,数据库性能直接影响应用的响应速度和用户体验。面对数据量激增、访问压力增大,数据库性能瓶颈经常成为项目痛点。如何科学有效地优化数据库,提升查询效率和系统稳定性,是每位开发与运维人员必备的技能。 本文结…...