【DeepSeek探索篇(四)】高效学习与工作,从搭建DeepSeek个人知识库开始!
高效学习与工作,从搭建DeepSeek个人知识库开始!
- 打工人和学习者必看!你为何急需一个个人知识库?
- 搭建个人知识库需要用到哪些技术呢?
- 一、模型微调与RAG技术简介
- 二、RAG技术原理剖析
- 揭秘Embedding:为何它是DeepSeek和RAGFlow之外的必备利器?
- 三、检索过程全解析
- 1、准备外部知识库
- 2、解析知识库文件
- 3、处理用户提问
- 4、匹配本地知识库
- 四、模型分类简介
- 五、如何进行个性化知识库的构建?
- 手把手教你用Docker本地部署RAGflow
- 1、下载RAGflow源代码
- 2、下载Docker
- 3、修改RAGflow中的配置
- 4、使用预构建的 Docker 镜像启动服务器
- 5、打开一个网页输入,成功看到如下界面说明启动成功了。注册登录即可
- 6、利用RAGflow搭建个人知识库并实现智能对话
打工人和学习者必看!你为何急需一个个人知识库?
在日常忙碌的工作与学习中,相信不少CSDN的小伙伴都和我一样,积累了海量的文档、代码片段、学习笔记等资料。但这些资料就像没有整理的仓库,一旦需要查找,往往在里面翻来覆去,浪费大量时间和精力。
别愁!今天给大家带来一个好方法,利用DeepSeek就能快速搭建个人专属的知识库。它能带来哪些惊喜呢?
集中管理:从此告别资料散落在各个角落的烦恼,将所有资料统一收纳,一个地方全搞定。
快速检索:智能搜索功能超强大,输入关键词,就能精准定位你需要的信息。
高效学习:结构化的存储方式,让知识体系一目了然,大大提升学习和工作的效率。快来一起探索DeepSeek搭建个人知识库的奇妙之旅吧!
搭建个人知识库需要用到哪些技术呢?
在大模型应用的过程中,“幻觉问题”一直是令人头疼的存在。简而言之“幻觉问题”就是大模型在回答他不知道的问题的时候他会
胡说八道,他会乱编。而模型微调与RAG技术,都在尝试为其提供解决方案,下面我们就来深入了解一下。
一、模型微调与RAG技术简介
- 模型微调:它就像是考前复习,基于已有的预训练模型,结合特定任务的数据集进一步训练,让模型在该领域的表现更加出色。
- RAG技术:全称为Retrieval-Augmented Generation(检索增强生成)。它就像是考试时带小抄,在生成回答前,通过信息检索从外部知识库中查找与问题相关的知识,增强生成过程中的信息来源,从而提升生成内容的质量和准确性 。
- 两者共同点:二者的核心目的都是为模型赋予特定领域的知识,有效解决大模型的“幻觉问题”。
二、RAG技术原理剖析
- 检索(Retrieval):当用户提出问题,系统会快速从外部的知识库中检索出相关内容。
- 增强(Embedding):将检索到的信息与用户输入进行结合,拓展模型的上下文信息,为后续的生成提供更丰富的素材。
- 生成(Generation):以Deepseek等生成模型为基础,基于增强后的输入生成最终回答。由于参考了外部知识库,答案的准确性和可信度更高。
对于在大模型开发与应用中探索的CSDN朋友们,理解RAG技术及其与模型微调的区别,有助于我们更好地优化模型表现。
揭秘Embedding:为何它是DeepSeek和RAGFlow之外的必备利器?
在AI技术的应用中,除了DeepSeek和RAGFlow,Embedding模型也扮演着关键角色。接下来,我们就来详细了解一下Embedding的奥秘。
三、检索过程全解析
1、准备外部知识库
外部知识库来源广泛,包括本地文件、搜索引擎结果、API等多种渠道。
2、解析知识库文件
借助Embedding(嵌入)模型,能够将自然语言转化为机器可理解的高维向量,同时捕获文本背后的语义信息,比如不同文本间的相似度关系。
3、处理用户提问
用户的输入同样会经过Embedding处理,生成一个高维向量。
4、匹配本地知识库
利用用户输入生成的高维向量,查询知识库中的相关文档片段,并通过余弦相似度等度量方式判断相似度。
四、模型分类简介
模型主要分为Chat模型和Embedding模型。Embedding模型的核心作用,就是对上传的附件进行解析,将文本数据转化为向量
数据,从而便于机器处理和分析。
五、如何进行个性化知识库的构建?
手把手教你用Docker本地部署RAGflow
在利用RAG技术搭建个性化知识库时,RAGflow是一个得力工具。下面为大家介绍如何通过Docker在本地部署RAGflow。
1、下载RAGflow源代码
首先,找到RAGflow的官方代码仓库,按照指引下载其源代码。这是后续部署的基础。
链接:RAGFlow
可以直接用git克隆下来
如果没有安装git也可以直接点Download ZIP,下载到本地。
2、下载Docker
Docker是一个强大的容器化平台,其镜像就像是一个精心封装好的“盒子”,里面包含了运行RAGflow所需的所有依赖项、库以及配置。
在下载安装Docker的过程中,如果遇到报错也别慌,可以通过搜索引擎查找相关报错信息,或者向GPT等AI工具寻求帮助。
要是出现镜像无法下载的情况,不妨尝试修改Docker的镜像源,换个“通道”,说不定就能顺利拉取镜像了。
按照这些步骤,你就能更轻松地在本地部署RAGflow,开启你的个性化知识库搭建之旅啦。
docker官网链接:docker
选择对应的去下载即可
下载完成后桌面会有一个docker图标,也可以win+R打开控制台输入docker,弹出如下说明也表示安装完成了。
3、修改RAGflow中的配置
原因:如果不修改配置RAGflow会默认给你下载轻量的版本,可以看到如下轻量的版本是没有Embedding模型的
在下载好的ragflow的源代码中打开.env的文件
把RAGFLOW轻量版注释掉
#RAGFLOW_IMAGE=infiniflow/ragflow:v0.16.0-slim
把RAGFLOW完整版取消注释
RAGFLOW_IMAGE=infiniflow/ragflow:v0.16.0
4、使用预构建的 Docker 镜像启动服务器
在下载ragflow路径下的docker中打开控制台输入:
docker compose -f docker-compose.yml up -d
5、打开一个网页输入,成功看到如下界面说明启动成功了。注册登录即可
localhost:80
6、利用RAGflow搭建个人知识库并实现智能对话
在通过Docker成功部署RAGflow后,就可以着手构建个人专属的知识库,并实现基于该知识库的对话问答啦。以下是详细步骤:
-
访问RAGflow:当Docker顺利启动,打开浏览器,在地址栏输入
localhost:80
,即可进入RAGflow界面。 -
添加模型提供商:在界面中找到“模型提供商”选项,添加本地部署的
deepseek-r1:1.5b
模型。
注意:若大家还没有本地部署deepseek大模型的话可以参考博客:一步一步搞定!DeepSeek本地环境搭建全攻略
本地部署好deepseek’模型后,控制台输入ollama list可以查看本地部署的模型
控制台输入ipconfig,查看自己电脑的ipv4的地址
基础的Url:http://+本地ipv4地址+:11434(ollama默认的端口号),如下图:
-
配置系统模型:进入“系统模型设置”,分别配置Chat模型为
deepseek-r1:1.5b
,Embedding模型使用RAGflow自带的即可。
-
创建并解析知识库:点击创建知识库,上传所需文件,让系统对文件进行解析处理。
-
创建聊天助理:着手创建聊天助手,过程中注意
prompt
(提示词)和tokens
(令牌)的合理配置。
-
开始对话:完成上述步骤,就可以开始和基于个人知识库的聊天助手愉快对话,就可以通过不断的喂数据来训练自己搭建的知识库啦。
-
相关文章:
【DeepSeek探索篇(四)】高效学习与工作,从搭建DeepSeek个人知识库开始!
高效学习与工作,从搭建DeepSeek个人知识库开始! 打工人和学习者必看!你为何急需一个个人知识库?搭建个人知识库需要用到哪些技术呢?一、模型微调与RAG技术简介二、RAG技术原理剖析 揭秘Embedding:为何它是D…...
游戏引擎学习第125天
仓库:https://gitee.com/mrxiao_com/2d_game_3 回顾并为今天的内容做准备。 昨天,当我们离开时,工作队列已经完成了基本的功能。这个队列虽然简单,但它能够执行任务,并且我们已经为各种操作编写了测试。字符串也能够正常推送到队…...
【大模型系列篇】大模型微调工具 LLama-Factory、Unsloth、ms-SWIFT
今日号外:🔥🔥🔥 DeepSeek团队正式启动为期五天的开源计划 Day3:DeepGEMM。DeepGEMM 是一个专为简洁高效的 FP8 通用矩阵乘法(GEMM)设计的库,具有细粒度缩放功能,如 Deep…...
Zabbix问题记录2--踩坑HttpRequest,header添加无效
背景 在试图尝试通过Zabbix接入DeepSeek API的时候,由于使用了HTTP的方式,所以需要使用Zabbix 自带的HttpRequest库进行请求,产生了下面的问题 问题 curl curl -X POST https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completio…...
DINOv2 + yolov8 + opencv 检测卡车的可拉拽雨覆是否完全覆盖
最近是接了一个需求咨询图像处理类的,甲方要在卡车过磅的地方装一个摄像头用检测卡车的车斗雨覆是否完全, 让我大致理了下需求并对技术核心做下预研究 开发一套图像处理软件,能够实时监控经过的卡车并判断其车斗的雨覆状态。 系统需具备以下…...
【嵌入式】RTOS安装和测试
RTOS 安装 安装RTOS,可采用RT-Linux框架 [RT-Linux — 快速使用手册](2. RT-Linux — 快速使用手册—基于LubanCat-RK356x系列板卡 文档),apt没有安装包,更新ubuntu系统版本后仍然不行,后更新国内软件源仍然没有检测到安装包。后…...
MySQL的存储引擎
存储引擎的概念 存储引擎:负责将数据存储在物理存储设备(如磁盘)上的结构和机制。存储引擎决定了数据库如何管理、组织和访问数据。) 因为在关系数据库中数据的存储是以表的形式存储的,所以存储引擎也可以称为表类型…...
瑞芯微RK安卓Android主板GPIO按键配置方法,触觉智能嵌入式开发
触觉智能分享,瑞芯微RK安卓Android主板GPIO按键配置方法,方便大家更好利用空闲IO!由触觉智能Purple Pi OH鸿蒙开发板演示,搭载了瑞芯微RK3566四核处理器,树莓派卡片电脑设计,支持安卓Android、开源鸿蒙Open…...
数据安全_笔记系列09_人工智能(AI)与机器学习(ML)在数据安全中的深度应用
数据安全_笔记系列09_人工智能(AI)与机器学习(ML)在数据安全中的深度应用 人工智能与机器学习技术通过自动化、智能化的数据分析,显著提升了数据分类、威胁检测的精度与效率,尤其在处理非结构化数据、复杂…...
跨平台公式兼容性大模型提示词模板(飞书 + CSDN + Microsoft Word)
飞书云文档 CSDN MD编辑器 Microsoft Word 跨平台公式兼容方案: 一、背景痛点与解决方案 在技术文档创作中,数学公式的跨平台渲染一直存在三大痛点: 飞书云文档:原生KaTeX渲染与导出功能存在语法限制微软Word:Math…...
Redis面试题----Redis 的持久化机制是什么?各自的优缺点?
Redis 提供了两种主要的持久化机制,分别是 RDB(Redis Database)和 AOF(Append Only File),下面将详细介绍它们的原理、优缺点。 RDB(Redis Database) 原理 RDB 持久化是将 Redis 在某个时间点上的数据集快照以二进制文件的形式保存到磁盘上。可以通过手动执行 SAVE …...
Leetcode-接雨水(单调栈)
给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 示例 1: 输入:height [0,1,0,2,1,0,1,3,2,1,2,1] 输出:6 解释:上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] …...
[ComfyUI]官方已支持Skyreels混元图生视频,速度更快,效果更好(附工作流)
一、介绍 昨天有提到官方已经支持了Skyreels,皆大欢喜,效果更好一些,还有GGUF量化版本,进一步降低了大家的显存消耗。 今天就来分享一下官方流怎么搭建,我体验下来感觉更稳了一些,生成速度也更快…...
安宝特方案 | 电力行业的“智能之眼”,AR重新定义高效运维!
引言: 电力行业正经历智能化变革,安宝特AR数字化工作流以四大核心优势,为电力企业打造全场景智慧运维方案! 四大颠覆性功能,直击行业痛点 1、高度自定义作业流程 支持图文指引、语音播报、AI实时识别(如…...
游戏引擎学习第124天
仓库:https://gitee.com/mrxiao_com/2d_game_3 回顾/复习 今天是继续完善和调试多线程的任务队列。之前的几天,我们已经介绍了多线程的一些基础知识,包括如何创建工作队列以及如何在线程中处理任务。今天,重点是解决那些我们之前没有注意到…...
微软推出Office免费版,限制诸多,只能编辑不能保存到本地
易采游戏网2月25日独家消息:微软宣布推出一款免费的Office版本,允许用户进行基础文档编辑操作,但限制颇多,其中最引人关注的是用户无法将文件保存到本地。这一举措引发了广泛讨论,业界人士对其背后的商业策略和用户体验…...
spring中的注解介绍
本篇文章专门用来介绍spring中的各种注解。 1、RestController 1、含义 2、举例 3、使用场景 RestController 通常用于开发 RESTful API,适合返回 JSON 或 XML 数据的场景 4、总结 RestController 是 Spring 中用于简化 RESTful Web 服务开发的注解,它结…...
修改`FSL Yocto Project Community BSP`用到的u-boot源码,使其能适配百问网(100ask)的开发板
前言 在博文 https://blog.csdn.net/wenhao_ir/article/details/145547974 中,我们利用官方提供的BSP(FSL Yocto Project Community BSP)构建了写到SD卡中的完整镜像,然后启动后发现存在不少问题,首要的问题就是u-boot不能识别网卡,在这篇博文中,我们就找到FSL Yocto Pro…...
DeepSeek开源周Day2:DeepEP - 专为 MoE 模型设计的超高效 GPU 通信库
项目地址:https://github.com/deepseek-ai/DeepEP 开源日历:2025-02-24起 每日9AM(北京时间)更新,持续五天 (2/5)! 引言 在大模型训练中,混合专家模型(Mixture-of-Experts, MoE)因其动…...
计算机毕业设计 ——jspssm506Springboot 的旧物置换网站
作者:程序媛9688 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等。 🌟文末获取源码数据库🌟 感兴趣的可以先收藏起来,还有大家在毕设选题(免费咨询指导选题)…...
观成科技:海莲花“PerfSpyRAT”木马加密通信分析
1.概述 在2024年9月中旬至10月,东南亚APT组织“海莲花”通过GitHub发布开源安全工具项目,针对网络安全人员发起了定向攻击。通过对相关攻击活动进行分析,可以将其与一些海莲花的样本关联起来。这些样本的通信数据结构与海莲花此前使用的攻击…...
在使用 npm link 进行本地 npm 包调试时,是否需要删除项目中已安装的依赖包取决于你的调试场景和依赖管理方式
1. 默认情况下不需要删除已安装的包 npm link 的工作原理: 当你在项目中运行 npm link <package-name> 时,npm 会创建一个符号链接(symlink),将项目的 node_modules/<package-name> 指向全局的软链包&am…...
Springboot快速接入豆包大模型
背景 突然接到上面的通知,想要在系统里面接入各大模型的能力,我这边随机选了个豆包,然后快速对接了一下,很顺利,一把过,现在文档的快速入门还是很ok的,在此记录一下过程,给宝子们参考…...
w803|联盛德|WM IoT SDK2.X测试|window11|TOML 文件|外设|TFT_LCD|测试任务|(5):TFT_LCD_LVGL示例
TFT_LCD_LVGL 功能概述 此应用程序是使用 WM IoT SDK 进行 LVGL 功能的示例。它演示了如何初始化 TFT LCD 设备,并创建 LVGL DEMO Task 进行 LVGL 模块的初始化,并展示 LVGL 原生的不同 Demo 场景, 例如: Widgets, Music Player, Benchmark…...
java23种设计模式-观察者模式
观察者模式(Observer Pattern)学习笔记 编程相关书籍分享:https://blog.csdn.net/weixin_47763579/article/details/145855793 DeepSeek使用技巧pdf资料分享:https://blog.csdn.net/weixin_47763579/article/details/145884039 1.…...
【MySQL 一 数据库基础】深入解析 MySQL 的索引(3)
索引 索引操作 自动创建 当我们为一张表加主键约束(Primary key),外键约束(Foreign Key),唯一约束(Unique)时,MySQL会为对应的的列自动创建一个索引;如果表不指定任何约束时,MySQL会自动为每一列生成一个索引并用ROW_I…...
本地部署 deepseek-r1 1.5B方法-ubuntu20.04 python3.10 pycharm虚拟环境
1. 环境安装 ubuntu20.04 python3.10 pycharm虚拟环境 2.拉取代码 虚拟环境下安装vllm: pip install vllm ubuntu命令窗口安装 sudo apt install git-lfs 初始化 Git LFS 安装 Git LFS 后,你需要虚拟环境命令窗口初始化它:git lfs i…...
【Qt】为程序增加闪退crash报告日志
背景 随着软件代码量的增加,软件崩溃闪退的肯能行越来越大,其中一些是难以复现的,比如访问了访问了非法地址、被操作系统杀死等。 为此,在软件出现闪退情况时,尽可能多的记录闪退发生时信息,对排查闪退原…...
Visual Studio打开文件后,中文变乱码的解决方案
文件加载 使用Unicode(UTF-8)编码加载文件 C:\WorkSpace\Assets\Scripts\UI\View\ExecuteComplateView.cs时,有些字节已用Unicode替换字符替换。保存该文件将不会保留原始文件内容。...
某住宅小区地下车库安科瑞的新能源汽车充电桩的配电设计与应用方案 安科瑞 耿笠
摘要:纯电动商用车的工作环境存在路况复杂、工况恶劣等情况,导致整车电气设备的磨损速率加快,造成电气设备绝缘电阻持续下降,如不及时处理,可能存在安全隐患或引发重大安全事故。文章从绝缘故障检测原理出发࿰…...
eclogy后台运维笔记(写的很乱,只限个人观看)
组织权限: 矩阵管理 这个很重要,比如进行流程操作者的选择时,我们进行需要选择财务部的出纳,会计,总经理。我们不能去直接选定一个人,万一这个人离职了,那所有的流程都要手动修改,…...
结构型模式 - 适配器模式 (Adapter Pattern)
结构型模式 - 适配器模式 (Adapter Pattern) 适配器模式是一种结构型设计模式,它允许将一个类的接口转换成客户希望的另一个接口,使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 类适配器,适用于要适配的类是一个接口…...
[2/11]C#性能优化-不要使用空析构函数-每个细节都有示例代码
前言 在C#开发中,性能优化是提升系统响应速度和资源利用率的关键环节。 当然,同样是所有程序的关键环节。 通过遵循下述建议,可以有效地减少不必要的对象创建,从而减轻GC的负担,提高应用程序的整体性能。记住…...
0-基于强化学习的图Transformer算法求解车辆路径问题(2023)
文章目录 Abstract1 Introduction2. Related Work2.1 引言2.2.基于RNN的VRP解决方案2.3.基于GNN的VRP解决方案2.4.基于Transformer的车辆路径问题求解方法3 边嵌入注意力模型3.1 编码器3.1.1 边嵌入多头注意力3.1.2. 前馈网络(FFN)、批量归一化和残差连接3.2 解码器3.2.1 解码…...
Linux:互斥
目录 一、互斥概念 二、互斥的使用函数 三、互斥的底层原理 一、互斥概念 互斥,全称是线程互斥,互斥是一套解决方案,用来保护临界资源。一般在多线程的代码中,要使用互斥这套解决方案来保护临界资源。 主要从代码的角度理解互斥…...
单例模式——c++
一个类,只能有1个对象 (对象在堆空间) 再次创建该对象,直接引用之前的对象 so构造函数不能随意调用 so构造函数私有 so对象不能构造 如何调用私有化的构造函数: 公开接口调用构造函数 调用构造函数:singleTon instance; 但…...
C++之string类的模拟实现(超详细)
们学习东西,先学习如果使用它,然后再学习如何实现它 文章目录 目录 1. 命名空间以及头文件 2.string类的成员变量 3.string类的成员函数 3.1 构造函数 3.2 析构函数 3.3 拷贝构造函数 3.4 赋值运算符重载 3.5 c_str函数 3.6 size函数 3.7 clea…...
【Git 学习笔记_27】DIY 实战篇:利用 DeepSeek 实现 GitHub 的 GPG 密钥创建与配置
文章目录 1 前言2 准备工作3 具体配置过程3.1. 本地生成 GPG 密钥3.2. 导出 GPG 密钥3.3. 将密钥配置到 Git 中3.4. 测试提交 4 问题排查记录5 小结与复盘 1 前言 昨天在更新我的第二个 Vim 专栏《Mastering Vim (2nd Ed.)》时遇到一个经典的 Git 操作问题:如何在 …...
【原创工具】同文件夹PDF文件合并 By怜渠客
【原创工具】同文件夹PDF文件合并 By怜渠客 原贴:可批量合并多个文件夹内的pdf工具 - 吾爱破解 - 52pojie.cn 他这个存在一些问题,并非是软件内自主实现的PDF合并,而是调用的pdftk这一工具,但楼主并没有提供pdftk,而…...
kafka-leader -1问题解决
一. 问题: 在 Kafka 中,leader -1 通常表示分区的领导者副本尚未被选举出来,或者在获取领导者信息时出现了问题。以下是可能导致出现 kafka leader -1 的一些常见原因及相关分析: 1. 副本同步问题: 在 Kafka 集群中&…...
图像融合+语义
图像配准+融合语义方法总结 1.Joint framework of image registration and fusion RFNet: Unsupervised Network for Mutually Reinforcing Multi-modal Image Registration and Fusion(2022CVPR) Unsupervised misaligned infrared and visible image fusion via…...
AI人工智能机器学习之监督学习和集成学习
1、概要 本篇学习AI人工智能机器监督学习框架下的集成学习,以鸢尾花iris数据集、随机森林模型和梯度提升为示例,从代码层面测试和讲述监督学习和集成学习能。 2、监督学习和集成学习 - 简介 监督学习和集成学习是机器学习领域中的两个重要概念。 监督…...
通过返回的key值匹配字典中的value值
需求 页面中上面搜索项有获取字典枚举接口,table表格中也有根据key匹配字典中的value 方案一 需要做到的要求 这里上面下拉列表是一个组件获取的字典,下面也是通过字典匹配,所以尽量统一封装一个函数,每个组件保证最少变动tabl…...
30 分钟从零开始入门 CSS
HTML CSS JS 30分钟从零开始入门拿下 HTML_html教程-CSDN博客 30 分钟从零开始入门 CSS-CSDN博客 JavaScript 指南:从入门到实战开发-CSDN博客 前言 最近也是在复习,把之前没写的博客补起来,之前给大家介绍了 html,现在是 CSS 咯…...
矩阵的奇异值(SVD)分解和线性变换
矩阵的奇异值(SVD)分解和线性变换 SVD定义 奇异值分解(Singular Value Decomposition,简称 SVD)是一种重要的线性代数工具,能够将任意矩阵 ( A ∈ R m n \mathbf{A} \in \mathbb{R}^{m \times n} A∈Rmn…...
Kubernetes与Docker:区别与优劣总结
在云原生技术栈中,Docker和Kubernetes是两大核心工具,但它们的功能定位和使用场景截然不同。本文将从技术原理、架构设计、功能特性及适用场景等角度,深入分析两者的区别与优劣,并结合实际应用场景说明如何协同使用。 一、核心技术…...
表单验证和正则表达式
表单验证 表单:收集用户信息,并把信息发送给服务器程序进行处理 what 验证数据的格式,将符合标准数据格式要求的数据,发送给后台。 对用户的输入做格式校验,确保能够发送到后台服务器的数据一定是正确的。降低服务器…...
汽车免拆诊断案例 | 保时捷车发动机偶发熄火故障 2 例
案例1 2008款保时捷卡宴车行驶中发动机偶发熄火 故障现象 一辆2008款保时捷卡宴车,搭载4.8 L 自然吸气发动机,累计行驶里程约为21万km。车主反映,该车行驶中发动机偶发熄火;重新起动,发动机能够起动着机ÿ…...
mongodb【实用教程】
MongoDB 是一个开源的文档型数据库管理系统 下载安装 Windows 系统 https://blog.csdn.net/weixin_41192489/article/details/126777309 GUI工具 【推荐】MongoDB Compass https://www.mongodb.com/zh-cn/docs/compass/current/ Robo 3T https://blog.csdn.net/weixin_4119248…...
Javaweb后端数据库多表关系一对多,外键,一对一
多表关系 一对多 多的表里,要有一表里的主键 外键 多的表上,添加外键 一对一 多对多 案例...