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

MongoDB:数据库初步应用

一.连接MongoDB

1.MongoDBCompass连接数据库

连接路径:mongodb://用户名:密码@localhost:27017/

2.创建数据库(集合)

MongoDB中数据库被称为集合.

 MongoDBCompass连接后,点击红色框加号创建集合,点击蓝色框加号创建文档(数据表)

文档中的数据结构(相当于表中的列)设计不用管,添加数据的时候,自动创建列和数据类型.

3.在集合中添加数据

可以将JSON文件添加到集合中.如果是多条数据结构应该如下,不然会提示格式错误

[{ ... },{ ... },{ ... }]

如果是多条数据,最外层应该是[ ] , 这个和从MySql导出来的数据有点点不一样,如果是从MySQL中导出的话,要把json文档打开,按照上面这个格式去掉头尾.

二. Spring Boot 连接MongoDB

1.pom添加引用

<!--        添加mongodb引用--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-mongodb</artifactId></dependency>

 2.yml添加连接配置

spring:data:mongodb:uri: mongodb://用户名:密码@127.0.0.1:27017/fresh_mall?authSource=admin

上面的用户名和密码替换你自己的,如果不添加 ?authSource=admin 会提示权限错误.

三. Spring Boot 操作MongoDB

1. 创建MongoDB对应的实体类

@Getter
@Setter
@Document("user_address")
@Schema(name = "UserAddress", description = "用户地址")
public class UserAddress implements Serializable {private static final long serialVersionUID = 1L;@Schema(description = "主键")@Field("uuid")private String uuid;@Schema(description = "用户编号")@Field("userId")private String userId;
}

上面代码中@Document注解对应MongoDB中的集合名称,@Field注解对应集合中的字段名,这样配置之后MongoDB会自动完成实体到数据的映射.

2.通过MongoTemplate进行数据操作

@Resourceprivate MongoTemplate mongoTemplate;    //mongoDB操作模板@Overridepublic List<UserAddress> getAddressByUserId(String uid) {//创建查询对象Query query = new Query();//配置查询标准query.addCriteria(Criteria.where("userId").is(uid));List<UserAddress> list = mongoTemplate.find(query,UserAddress.class);return list;}

这个代码会自动查找user_address集合,因为实体类做了配置,并且在查找到内容之后,自动完成数据到对象的映射.

相关文章:

MongoDB:数据库初步应用

一.连接MongoDB 1.MongoDBCompass连接数据库 连接路径:mongodb://用户名:密码localhost:27017/ 2.创建数据库(集合) MongoDB中数据库被称为集合. MongoDBCompass连接后,点击红色框加号创建集合,点击蓝色框加号创建文档(数据表) 文档中的数据结构(相当于表中的列)设计不用管…...

C#之枚举中的按位与()按位或(|)。

一些基础定义&#xff1a; 按位或运算符&#xff08;|&#xff09;是一种位运算符&#xff0c;用来对两个二进制数进行操作。对于每个位上的1&#xff0c;如果至少有一个二进制数中的对应位为1&#xff0c;则结果为1&#xff1b;否则&#xff0c;结果为0。按位与运算符&#x…...

Blazor前后端框架Known-V1.2.12

V1.2.12 Known是基于C#和Blazor开发的前后端分离快速开发框架&#xff0c;开箱即用&#xff0c;跨平台&#xff0c;一处代码&#xff0c;多处运行。 Gitee&#xff1a; https://gitee.com/known/KnownGithub&#xff1a;https://github.com/known/Known 概述 基于C#和Blazo…...

bug记录:微信小程序 给button使用all: initial重置样式

场景&#xff1a;通过uniapp开发微信小程序 &#xff0c;使用uview的u-popup弹窗&#xff0c;里面内嵌了一个原生button标签&#xff0c;因为微信小程序的button是有默认样式的&#xff0c;所以通过all: initial重置样式 。但是整个弹窗的点击事件都会被button上面的点击事件覆…...

【计算机视觉|生成对抗】带条件的对抗网络进行图像到图像的转换(pix2pix)

本系列博文为深度学习/计算机视觉论文笔记&#xff0c;转载请注明出处 标题&#xff1a;Image-to-Image Translation with Conditional Adversarial Networks 链接&#xff1a;Image-to-Image Translation with Conditional Adversarial Networks | IEEE Conference Publicati…...

[时序数据库]:InfluxDB进阶

文章目录 1 摘要2 背景2.1 问题一&#xff1a;针对Influx V2.0工具2.2 问题二&#xff1a;针对Influx查询语言 3 需求分析4 快速入门4.1 客户端驱动版本选择4.2 连接influx4.2.1 influx配置信息4.2.2 influx连接配置4.2.3 测试连通情况 5 Influx工具类5.1 InfluxQL工具类5.1.1 …...

uniapp编写微信小程序遇到的坑总结

1、阻止事件冒泡 使用uniapp开发微信小程序的时候&#xff0c;发现使用click.stop来阻止事件冒泡没有作用&#xff0c;点击了之后发现仍然会触发父组件或者祖先组件的事件。 在网上查阅&#xff0c;发现使用tap.stop才能阻止事件冒泡。 2、二维码生成 在网上找了很多&…...

Binary operator ‘*‘ cannot be applied to two ‘Double?‘ operands

在 swift 中声明 Double 类型参数变量在进行运算处理时抛出了如下异常 Binary operator * cannot be applied to two Double? operands 情况一 参数类型不匹配,需将参数类型进行匹配 self.max height / (length * width) // 初始 self.max height / (length * Double(wid…...

C#如何打包EXE程序生成setup安装文件

项目结束之后&#xff0c;有需要将winForm程序打包成.exe文件提供给用户。 这里记录一下打包过程。 1&#xff1a;首先获取打包插件&#xff0c;如果你的VS已经安装&#xff0c;忽略此步骤。 点击 工具->扩展和更新&#xff0c;选择联机&#xff0c;搜索installer&#x…...

【python实现向日葵控制软件功能】手机远程控制电脑

大家好&#xff0c;我是csdn的博主&#xff1a;lqj_本人 这是我的个人博客主页&#xff1a; lqj_本人_python人工智能视觉&#xff08;opencv&#xff09;从入门到实战,前端,微信小程序-CSDN博客 最新的uniapp毕业设计专栏也放在下方了&#xff1a; https://blog.csdn.net/lbcy…...

手机系统录屏怎么录?有什么其他录制方法和注意事项?

手机系统录屏是一种很方便的方式&#xff0c;可以用于录制游戏、教程视频&#xff0c;或者是跟别人分享一些操作。在不同的手机系统中&#xff0c;录制方法可能会有所不同&#xff0c;以下是一些通用的步骤分享以及其他录制工具的分享&#xff0c;有需要的小伙伴们快来看一看吧…...

记录一个编译TubeTK时的报错:at_check问题

在使用如下命令安装TubeTK的cuda_nms时&#xff0c;报了一个错误&#xff0c;记录一下这个错误和解决办法 (base) redmeryredmery:~/Desktop/MOT/TubeTK/post_processing/nms$ python setup.py build_ext --inplace因为这个命令是在/home/redmery/Desktop/MOT/TubeTK/install/…...

k8s v1.27.4二进制部署记录

记录二进制部署过程 #!/bin/bash#升级内核 update_kernel() {rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.orgyum -y install https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpmyum --disablerepo"*" --enablerepo"elrepo-kernel&q…...

C# API 文档注释规范

C# API 文档注释规范 1. 命名空间注释(namespace)2. summary3. remarks and para4. param5. returns6. example and code7. exception8. typeparam 最近在开发工作中需要实现 API 帮助文档&#xff0c;如果根据所写的代码直接重写 API 帮助文档将会是意见非常大的工作量&#x…...

分类预测 | Matlab实现基于TSOA-CNN-GRU-Attention的数据分类预测

分类预测 | Matlab实现基于TSOA-CNN-GRU-Attention的数据分类预测 目录 分类预测 | Matlab实现基于TSOA-CNN-GRU-Attention的数据分类预测效果一览基本介绍研究内容程序设计参考资料 效果一览 基本介绍 Matlab实现分类预测 | Matlab实现基于TSOA-CNN-GRU-Attention的数据分类预…...

《深度剖析K8s》学习笔记

一、容器技术 1.从进程说起 a. 概述 进程&#xff1a;数据和状态的综合 容器技术的核心&#xff1a;约束和修改进程的动态表现&#xff0c;创造出边界&#xff08;Cgroup&#xff1a;约束/namespace&#xff1a;进程视图&#xff09; 启动容器例子&#xff1a; docker ru…...

神经网络基础-神经网络补充概念-49-adam优化算法

概念 Adam&#xff08;Adaptive Moment Estimation&#xff09;是一种优化算法&#xff0c;结合了动量梯度下降法和RMSProp的优点&#xff0c;用于在训练神经网络等深度学习模型时自适应地调整学习率。Adam算法在深度学习中广泛应用&#xff0c;通常能够加速收敛并提高模型性能…...

Java:正则表达式书写规则及相关案例:检验QQ号码,校验手机号码,邮箱格式,当前时间

正则表达式 目标:体验一下使用正则表达式来校验数据格式的合法性。需求:校验QQ号码是否正确&#xff0c;要求全部是数字&#xff0c;长度是(6-20&#xff09;之间&#xff0c;不能以0开头 首先用自己编写的程序判断QQ号码是否正确 public static void main(String[] args) {Sy…...

图数据库_Neo4j_Centos7.9安装Neo4j社区版3.5.4_基于jdk1.8---Neo4j图数据库工作笔记0011

首先上传安装包,到opt/soft目录 然后看一下jdk安装的是什么版本的,因为在neo4j 4以后就必须要用jdk11 以上的版本,我这里还用着jdk1.8 所以 我这里用3.5.4的版本 关于下载地址: https://dist.neo4j.org/neo4j-community-3.5.4-unix.tar.gz 然后再去解压到/opt/module目录下 …...

使用Rust编写的一款使用遗传算法、神经网络、WASM技术的模拟生物进化的程序

模拟生物进化程序 Github地址&#xff1a;FishLife 期待各位的star✨✨✨ 本项目是一个模拟生物进化的程序&#xff0c;利用遗传算法、神经网络技术对鱼的眼睛和大脑进行模拟。该项目是使用 Rust 语言编写的&#xff0c;并编译为 WebAssembly (Wasm) 格式&#xff0c;使其可以…...

Wan2.2-I2V-A14B镜像应用案例:快速生成高质量短视频,助力内容创作

Wan2.2-I2V-A14B镜像应用案例&#xff1a;快速生成高质量短视频&#xff0c;助力内容创作 1. 引言&#xff1a;短视频创作的新范式 在数字内容爆炸式增长的今天&#xff0c;短视频已成为最主流的内容形式之一。无论是电商平台的商品展示、社交媒体上的创意内容&#xff0c;还…...

AI生成内容检测新思路:除了红绿词表,我们还能用哪些方法识别ChatGPT写的文章?

AI生成内容检测技术全景&#xff1a;超越红绿词表的七种实战方法 当ChatGPT生成的论文摘要通过学术评审、AI撰写的新闻稿被主流媒体刊发时&#xff0c;内容真实性的边界正在变得模糊。某高校教授最近向我展示了一份学生作业——文笔流畅的哲学论述&#xff0c;最终被证实完全由…...

SDMatte代码解读:关键模块架构分析与核心算法实现

SDMatte代码解读&#xff1a;关键模块架构分析与核心算法实现 1. 项目背景与核心价值 SDMatte是一个开源的图像抠图工具&#xff0c;基于深度学习技术实现高质量的自动背景分离。相比传统方法&#xff0c;它能够更准确地处理复杂边缘&#xff08;如头发、透明材质等&#xff…...

TradingAgents-CN:5分钟搭建你的AI投资智囊团,让普通人也能拥有专业金融分析能力

TradingAgents-CN&#xff1a;5分钟搭建你的AI投资智囊团&#xff0c;让普通人也能拥有专业金融分析能力 【免费下载链接】TradingAgents-CN 基于多智能体LLM的中文金融交易框架 - TradingAgents中文增强版 项目地址: https://gitcode.com/GitHub_Trending/tr/TradingAgents-…...

开源固件解锁戴森电池:3步拯救你的“32次红灯“报废吸尘器

开源固件解锁戴森电池&#xff1a;3步拯救你的"32次红灯"报废吸尘器 【免费下载链接】FU-Dyson-BMS (Unofficial) Firmware Upgrade for Dyson V6/V7 Vacuum Battery Management System 项目地址: https://gitcode.com/gh_mirrors/fu/FU-Dyson-BMS 你的戴森吸…...

Nano-Banana多行业落地:医疗器械拆解图生成符合ISO 13485视觉规范

Nano-Banana多行业落地&#xff1a;医疗器械拆解图生成符合ISO 13485视觉规范 Nano-Banana Studio 作为一款专注于物理结构拆解的AI创作工具&#xff0c;正在医疗器械领域展现惊人价值。本文将深入探讨如何利用这一工具生成符合ISO 13485质量体系视觉规范的医疗器械拆解图&…...

Qwen3.5-35B-A3B-AWQ-4bit企业落地应用:教育题图分析、医疗影像初筛、工业图纸解读

Qwen3.5-35B-A3B-AWQ-4bit企业落地应用&#xff1a;教育题图分析、医疗影像初筛、工业图纸解读 1. 多模态AI在企业场景的价值 在当今企业运营中&#xff0c;视觉内容处理已成为关键环节。教育机构需要快速分析教材插图&#xff0c;医疗机构面临海量影像筛查压力&#xff0c;工…...

OpenClaw飞书机器人:Qwen3-VL:30B多模态应用指南

OpenClaw飞书机器人&#xff1a;Qwen3-VL:30B多模态应用指南 1. 为什么选择OpenClawQwen3-VL:30B组合&#xff1f; 去年冬天&#xff0c;当我第一次尝试用AI助手处理团队飞书群里的图片报销单时&#xff0c;经历了惨痛的失败——要么识别错金额&#xff0c;要么把同事的午餐照…...

Ubuntu 22.04/20.04 RTX 3050显卡驱动安装避坑指南:从黑屏/dev/***到成功点亮

1. 为什么你的RTX 3050在Ubuntu上会黑屏&#xff1f; 刚给Ubuntu装上RTX 3050显卡&#xff0c;重启后屏幕一片漆黑&#xff0c;只显示/dev/***: clean之类的信息&#xff1f;这场景我太熟悉了——去年给工作室六台Ubuntu工作站装RTX 30系显卡时&#xff0c;每台都经历过这个&qu…...

XUnity.AutoTranslator:打破Unity游戏语言壁垒的开源解决方案

XUnity.AutoTranslator&#xff1a;打破Unity游戏语言壁垒的开源解决方案 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 当你面对一款内容精彩但语言不通的Unity游戏时&#xff0c;是否曾因语言障碍而错…...