docker安装Mongodb并使用SpringBoot整合Mongodb简单教程

Docker部署MongoDB+整合Mongo版MyBatis—Plus SpringBoot整合MongoDB,使用了Mongo-Plus。MongoDB是一个开源的NoSQL文档型数据库,它使用灵活的文档模型来存储数据,这些文档可以是嵌套的,类似于JSON对象。MongoDB以其高性能、高可用性和易扩展性而闻名,适用于各种规模的应用,从小型项目到大型企业级应用。 阅读详情

1.docker安装教程

1.拉取镜像

docker pull mongo:latest

在这里插入图片描述
2.创建并启动容器

docker run -d --restart=always -p 27017:27017 --name mymongo -v /docker/mongodb/data:/data/db -d mongo

3.查看容器是否运行成功

docker ps -a

在这里插入图片描述
容器运行成功
4.测试连接

在这里插入图片描述

2.Mongodb与传统数据库区别

SQL术语/概念MongoDB术语/概念解释说明
databasedatabasedatabase
tablecollection数据库表/集合
rowdocument数据记录行/文档
columnfield数据字段/域
indexindex索引
primary keyprimary key主键,MongoDB自动将_id字段设置为主键
tablejoins表连接,MongoDB不支持

7.注意事项

 1、文档中的键/值对是有序的。
 2、文档中的值不仅可以是在双引号里面的字符串,还可以是其他几种数据类型(甚至可以是整个嵌入的文档)。
 3、MongoDB区分类型和大小写。
 4、MongoDB的文档不能有重复的键。
 5、文档的键是字符串。除了少数例外情况,键可以使用任意UTF-8字符。
6、键不能含有\0 (空字符)。这个字符用来表示键的结尾。
 7、.和$有特别的意义,只有在特定环境下才能使用。
8、以下划线"_"开头的键是保留的(不是严格要求的)。

2.mongodb常用命令

1.Help查看命令提示

db.help();

2.切换数据库

use test
当数据库不存在时会创建

3.删除数据库

db.dropDatabase();

4.获取数据库名称

db.getName();

5.查看版本

db.version();

6.创建集合

db.createCollection("student")

7.新增字段

db.student.save({name:'李华',age:0,sex:'男'})
1.当第二次使用命令时新增字段时,之前新增的数据会为空
db.student.save({name:'李华',age:0,sex:'男',birthyday:'2022-02-23'})

8.查询

# select * from student where name = 'zhangsan'
 db.student.find({name:"zhangsan"})
# select name, age from student where age = 21
db.student.find({age:21}, {'name':1, 'age':1})

9.排序

# select * from student order by age
db.student.find().sort({age:1})
在 MongoDB 中使用 sort() 方法对数据进行排序,sort() 方法可以通过参数指定排序的字段并使用 1 和 -1 来指定排序的方式,其中 1 为升序排列,而 -1 是用于降序排列。

10.截取

# select * from student skip 2 limit 3
 db.student.find().skip(0).limit(3)
在 MongoDB 中使用 limit()方法来读取指定数量的数据,skip()方法来跳过指定数量的数据

11.in

# select * from student where age in (21, 26, 32)
db.student.find({age:{$in:[21,26,32]}})

12.count

# select count(*) from student where age >20
 db.student.find({age:{$gt:20}}).count()

13.or

# select * from student where age = 21 or age = 28
 db.student.find({$or:[{age:21}, {age:28}]})

14.update

# update student set age = 100, sex = 0 where name = 'zhangsan'
 db.student.update({name:"zhangsan"}, {$set:{age:100, sex:0}})
 Update()有几个参数需要注意。
db.collection.update(criteria, objNew, upsert, mult)
criteria:需要更新的条件表达式
objNew:更新表达式
upsert:如FI标记录不存在,是否插入新文档。
multi:是否更新多个文档。

15.删除

db.student.remove(id)
//移除对应id的行
 db.student.remove({})
//移除所有

springBoot集成Mongodb

1.引入相关依赖pom文件

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">


    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.3.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.example</groupId>
    <artifactId>springboot-mongodb-start</artifactId>
    <packaging>jar</packaging>

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-mongodb</artifactId>
    </dependency>
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
    </dependency>
</dependencies>
</project>

2.添加配置文件

spring:
  data:
    mongodb:
      uri:  mongodb://192.168.32.250:27017/studyinfo
server:
  port: 8009

3.新建实体类

package com.example.domain;

import lombok.*;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;

@Data
@Setter
@Getter
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Document(collection = "student")
public class Student {
    @Id
    private String id;
    private String name;
    private int age;
    private String sex;

}

4.新建test类

import com.example.MyMongodbApplication;
import com.example.domain.Student;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.data.mongodb.core.query.Update;
import org.springframework.test.context.junit4.SpringRunner;

import java.util.List;

@SpringBootTest(classes = MyMongodbApplication.class)
@RunWith(SpringRunner.class)
public class MongodbTest {
    //引入依赖
    @Autowired
    private MongoTemplate mongoTemplate;
    @Test
    public void query(){
        List<Student> student = mongoTemplate.findAll(Student.class, "student");
       student.forEach(System.out::println);
    }

    @Test
    public void insert(){
        mongoTemplate.insert(new Student("韩信",21,"男"));

    }
    @Test
    public void update(){
        Query query=new Query();
        Criteria criteria = Criteria.where("name").is("李白");
        query.addCriteria(criteria);
        List<Student> students = mongoTemplate.find(query, Student.class);
        students.forEach(System.out::println);
        Update update=new Update();
        update.set("name","李白2");
        mongoTemplate.upsert(query,update,Student.class);
    }

    @Test
    public void del(){
        Student byId = mongoTemplate.findById("63f9e6297a836d86c4cd5bc2", Student.class);
        mongoTemplate.remove(byId);
        
    }


}

5.以上就是使用MongoTemplate 完成CURD,特别注意的是,查询修改删除中都要使用的query对象,以及条件构造器criteria对象进行操作。
也可以使用MongoRepository,使用方法与MybatisPlus用法很像,有兴趣的小伙伴可以自行研究

使用Docker安装MongoDB 使用Docker安装mongoDB 阅读详情

相关推荐

Docker容器安装MongoDB(一)

1、下载MongoDB镜像 MongoDB 镜像库地址: https://hub.docker.com/_/mongo?tab=tags&page=1&ordering=last_updated 从上图可以看到很多版本,我们可以根据所需要的版本进行选择,此处我们推荐使用最后更新的八本使用如图命令:docker pull mongo:latest // 下载最新版本mongo镜像 docker pull mongo:latest 如下图下载镜像完成 使用docker i..

优快云_LIJUN的博客 2858

docker安装mongoDB及使用

docker安装mongo以及mongoDB的简单使用

packge的博客 4万+

【微服务】springboot整合mongodb使用详解

springboot整合mongodb使用详解

congge_study的博客 5809

SpringBoot整合MongoDB

MongoDB是一种开源的文档型数据库管理系统,它使用类似于JSON的BSON格式(Binary JSON)来存储数据。与传统关系型数据库不同,MongoDB不使用表和行的结构,而是采用集合(Collection)(Mysql表)和文档(Document)(MySql行)的概念来组织数据。

qq_65142821的博客 9492

快速理解OSI七层模型(举例理解,数据传输过程,深入理解OSI七层模型)

我们需要了解互联网的本质是一系列的网络协议,这个协议就叫做OSI协议(开放系统互联(Open System Interconnection)),它是由ISO(国际标准化组织)定义的。 需要注意,随着时代的发展,OSI已经被TCP/IP 4层模型淘汰,在当今世界上并没有大规模的使用。 那么对于OSI,人们按照功能不同,分工不同,人为的将OSI的分为七层。实际上这七层是并不存在的,也就是说没有这些概念,而我们今天提到的七层概念,只是人为的划分而已。目的只是为了让大家更好地理解这些都是用来做什么的。

CN_TangZheng的博客 3万+

6.4 构网型储能的需求与配置

摘要: 构网型储能是新型电力系统的关键支撑技术,通过提供电压/频率形成、惯性和稳定控制能力,解决同步机退出导致的系统稳定性问题。其配置需遵循三大原则:1)容量配置以支撑需求为主导,兼顾能量服务;2)优先布局于电网薄弱点、稳定问题突出区域;3)采用自适应控制策略实现全工况优化。核心应用场景包括新能源送出通道稳定、负荷中心调频、黑启动电源等。规划方法需结合系统分析、量化指标和成本效益评估,实现技术经济最优。未来需重点关注构网/跟网混合系统的临界容量占比及自适应控制技术发展。

技术工作者 1139

SpringBoot整合MongoDB(从安装到使用系统化展示)

无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁,焦虑,毁掉你本就不多的热情和定力!!!

IT小辉同学 4976

重装系统后,恢复Oracle的.ORA文件

前几天,系统莫名奇妙产生很多宏病毒,进而感染整个C盘,不得已,格式化后重装了系统。 重装系统之后,突然想到D盘中的oracle中很多数据没导出来备份,安装文件下有很多有用的.ORA文件,抱着死马当活马医的态度,居然成功了。 1、将原来D盘(D:\oracle\product\10.2.0\oradata\orcl)下的数据文件备份下其他盘,将D盘的oracle目录名改成oracle1。安装数据

zhanggnol的blog 5551

SpringBoot整合Mongodb操作的详细教程

SpringBoot对Mongodb的整合以及增删改查的操作

徐大大的博客 1万+

实战!在 AMD RX 9070 XT (16G) 上使用原生 Windows ROCm 7.1 部署 ComfyUI + Z-Image-Turbo

本文详细介绍了如何在Windows系统下为AMD Radeon RX 9070 XT显卡配置Z-Image-Turbo AI绘图环境。主要内容包括:安装VS Build Tools和最新显卡驱动,配置Conda Python 3.12环境,安装ROCm 7.1.1 SDK及PyTorch适配版本,部署ComfyUI可视化界面。重点解决了AMD显卡在AI绘图中的适配问题,通过--use-split-cross-attention参数优化显存使用,最终成功搭建了可在消费级16G显存设备上运行的AI绘图环境

qq_33614778的博客 4679

Qwen2.5-VL多模态微调超参数深度解析(上):训练流程与优化策略的量化机制分析

上篇文章通过系统化的对比实验,回答了多模态微调中的三个基础问题:“选什么方法”(LoRA/Full/Freeze/OFT对比)、“用什么配置”(60+组超参数组合)、“达到什么效果”(ROUGE-L/BLEU-4指标)。这些结果为后续工作奠定了实验基线,但也留下了更深层的疑问:为何相同方法在不同数据集上表现迥异?为何某些超参数的微小调整会引发性能剧变?如何在未见过的任务上快速找到最优配置?本文是对前文实验数据的二次挖掘与机理解析。我们将关注点从"做了什么实验"转移到"实验揭示了什么规律",实验视角从"结果对

羊城迷鹿的博客 1004

SpringBoot与MongoDB深度整合及应用案例

在当今快速发展的软件开发领域,NoSQL数据库因其灵活性和可扩展性而变得越来越流行。MongoDB,作为一款领先的NoSQL数据库,以其文档导向的存储模型和强大的查询能力脱颖而出。本文将为您提供一个全方位的指南,从MongoDB的基础介绍到在SpringBoot项目中的整合实践,助您快速上手。

真心喜欢你吖研发工程师,记录学习笔记、问题解决方案、知识总结、知识分享;冲鸭! 1666

Qt/C++编写自定义控件42-开关按钮

一、前言 从2010年进入互联网+智能手机时代以来,各种各样的APP大行其道,手机上面的APP有很多流行的元素,开关按钮个人非常喜欢,手机QQ、360卫士、金山毒霸等,都有很多开关控制一些操作,在Qt widgets应用项目上,在项目中应用些类似的开关按钮,估计也会为项目增添不少新鲜感。 总结了大部分的开关按钮控件,基本上有两大类,第一类是纯代码绘制,这种对代码的掌控度要求比较高,但是灵活性比较好...

Qt/C++视频监控/推流/物联网/大屏系统/自定义控件/UI定制/输入法 3327

Docker安装MongoDB及与Springboot整合

注:基本用法普通安装请查看之前一篇文章:mongodb入门级权威指南 1. 通过docker安装MongoDB #拉取镜像 docker pull mongo:4.0.3 #创建容器 docker create --name mongodb -p 27017:27017 -v /data/mongodb:/data/db mongo:4.0.3 #启动容器 docker start mongodb...

qqxhb 资源共享 600

强化学习从基础到进阶-常见问题和面试必知必答[7]:深度确定性策略梯度DDPG算法、双延迟深度确定性策略梯度TD3算法详解

强化学习从基础到进阶-常见问题和面试必知必答[7]:深度确定性策略梯度DDPG算法、双延迟深度确定性策略梯度TD3算法详解

丨汀、的博客 511

javascript 酷炫时钟

javascript 酷炫时钟

liuhao9999的博客 631

使用Docker安装MongoDB,整合SpringBoot

使用Docker安装MongoDB,整合SpringBoot

qq_43657722的博客 625

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

SpringBoot整合MongoDB事务

文章目录1.Docker安装MongoDB2.配置副本集3.SpringBoot整合MongoDB 1.Docker安装MongoDB 拉取镜像 docker pull mongo:latest 启动节点 docker run --name m0 -p 27017:27017 -d mongo --replSet "rs" docker run --name m1 -p 27018:27017 -d mongo --replSet "rs" docker run --name m2 -p 27019:27

岁月 メ 不及时光长 1810

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Davids实操笔记:Spring Boot 使用docker整合MongoDB

文章目录Spring Boot 使用docker整合MongoDB前言安装MongoDB Spring Boot 使用docker整合MongoDB 关注可以查看更多粉丝专享blog~ 前言 前面简单介绍了如何使用docker安装ElasticSearch、elasticsearch-head、elasticsearch ik和elasticsearch pinyin,今天学习一下MongoDB,都是一些现在用途非常广泛的一些中间件。 ElasticSearch传送门: Davids实操笔记:Sprin

Davids_的博客 1039

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Springboot整合MongoDB的Docker开发,其它应用也类似

1 前言 Docker是容器开发的事实标准,而Springboot是Java微服务常用框架,二者必然是会走到一起的。本文将讲解如何开发Springboot项目,把它做成Docker镜像,并运行起来。 2 把Springboot打包成Docker镜像 Springboot的Web开发非常简单,本次使用之前讲解过的Springboot整合MongoDB的项目,请参考 实例讲解Springboot整合MongoDB进行CRUD操作的两种方式,文章中有源码;MongoDB的安装请参考:用Docker安装一个Mong

南瓜慢说 651

Docker安装MongoDB

Docker安装MongoDB 注:此处对外暴露的端口为27019,最好不要使用27017,因为此处使用默认的端口容易被攻击 1、安装 命令:(此处未指定版本安转的默认为最新版) docker run -d --restart=always -p 27019:27017 --name mymongo -v /home/mongodb:/data/db -d mongo 2、给mongo设置账号和密码 为MongoDB添加管理员用户 进入MongoDB docker exec -it 51a5b5e0

qq_51726114的博客 6169

SpringBoot整合mongodb,从安装到使用

快速上手使用mongodb

小蜜蜂1010的博客 3006

SpringBoot整合MongoDB增删改查

SpringBoot整合MongoDB增删改查

Joker_Jiang3的博客 2431

Docker安装Mongodb及Springboot整合Mongodb

Docker安装Mongodb及与Springboot整合 安装docker:centos7下载docker容器 拉取镜像 docker pull mongo 运行容器: mkdir /home/data/mongo docker run -p 27017:27017 -v /home/data/mongo:/data/db --name mongodb -d mongo 使用Robo 3T图形化界面,管理mongo robo官方下载 springboot整合monge 导入依赖 <

xiaozhuzhuyang的博客 451
上一篇: java Ansj中文分词器
下一篇: Chat2DB的使用教程
⁥可乐
博客等级 码龄7年 61粉丝 13原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值