非关系型数据库NoSQL数据层解决方案 之 Mongodb 简介 下载安装 springboot整合与读写操作

news2024/9/18 5:21:32

MongoDB
简介

MongoDB是一个开源的面向文档的NoSQL数据库,它采用了分布式文件存储的数据结构,是当前非常流行的数据库之一。

以下是MongoDB的主要特点和优势:

  1. 面向文档的存储

    • MongoDB是一个面向文档的数据库管理系统(Document-Oriented Database),每条数据记录都是一个文档,使用类似JSON格式的BSON(Binary JSON)存储。这种模式使得数据在应用程序中使用起来非常直观和灵活,适合于处理复杂的、不规则的数据结构。
  2. 灵活的数据模型

    • 文档模型的灵活性使得可以存储不同结构和类型的数据,而无需事先定义数据表的结构。这种灵活性使得MongoDB非常适合应对快速迭代和需求变化频繁的开发环境。
  3. 高性能

    • MongoDB支持在集群环境中水平扩展,能够处理大规模的数据和高流量的读写操作。它内置了复制和故障转移功能,可以提供高可用性和数据冗余,确保数据的安全性和可靠性。
  4. 丰富的查询语言

    • MongoDB提供丰富的查询功能,支持动态查询、字段索引、排序、聚合等操作,同时还支持地理空间查询。这些功能使得开发者可以更加灵活地处理数据并执行复杂的数据分析任务。
  5. 容易扩展和管理

    • MongoDB的架构设计使得它易于部署、管理和扩展。它可以运行在单机或者分布式集群环境中,支持自动分片和负载均衡,能够动态地扩展存储和处理能力。
  6. 开源和活跃的社区支持

    • MongoDB是开源软件,拥有一个活跃的社区和强大的生态系统。社区提供了丰富的文档、教程和支持资源,使得开发者可以快速入门并解决在使用过程中遇到的问题。

总结来说,MongoDB以其灵活的数据模型、高性能的查询能力、易于扩展和管理等特点,在Web应用开发、大数据分析等领域得到了广泛的应用和认可。

使用场景非常多

Mongodb下载安装

首先得下载

解压安装后

我们在目录里找到了mongodb

我们安装已经安装好了 我们接下来就要将他启动

进入bin文件夹

我们首先初始化mongo的服务端

点击mongod.exe 应用程序

我们用cmd命令行窗口启动

启动代码

mongod --dbpath=..\data\db

接着我们要启动mongo的客户端

类似于redis的启动

mongo

这样就算是启动成功

总览

服务端启动后

进入客户端

然后就可以在cmd窗口里操作数据库 比如说我们可以创建表 写入字段

但是在cmd窗口操作过于复杂

我们有一个图形化界面的客户端可以操作

Mongodb基础操作

我们是在图形化客户端操作工具里面操作

创建数据库

图形化操作界面

基础操作

查询操作

Springboot整合Mongo

新建一个项目

添加依赖

我们可以查看导入对应的坐标

有一个spring项目起步坐标

还有我们刚刚引入的坐标

接下来是写配置文件

作为一个数据库 提供访问数据库对应的url是最基本的

spring:
  data:
    mongodb:
      url: mongodb://localhost/Dduo

接下来我们就可以进行测试了

类似于之前的操作

先类似于redis一样依赖注入一个工具类

便于对Mongodb数据库进行操作

这时候我们才发现要

封装实体类

我们同样要在工程中引入lombok

接下来就能进行测试

插值

我们的期望是

报错

然后报错信息可以很容易的看见

当然 不报错是最好的

但是我们会出现类型转换问题

当我们的类型一样的时候

就能成功查询

我们发现简单的不能再简单了

慢慢的潜移默化中

我们已经学习到了方法

个人号推广

博客主页

多多!-CSDN博客

Web后端开发

https://blog.csdn.net/qq_30500575/category_12624592.html?spm=1001.2014.3001.5482

Web前端开发

https://blog.csdn.net/qq_30500575/category_12642989.html?spm=1001.2014.3001.5482

数据库开发

https://blog.csdn.net/qq_30500575/category_12651993.html?spm=1001.2014.3001.5482

项目实战

https://blog.csdn.net/qq_30500575/category_12699801.html?spm=1001.2014.3001.5482

算法与数据结构

https://blog.csdn.net/qq_30500575/category_12630954.html?spm=1001.2014.3001.5482

计算机基础

https://blog.csdn.net/qq_30500575/category_12701605.html?spm=1001.2014.3001.5482

回忆录

https://blog.csdn.net/qq_30500575/category_12620276.html?spm=1001.2014.3001.5482

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1825176.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

AI大模型四大技术架构演进选型

随着人工智能技术的迅猛发展,大模型技术架构也在不断演进和完善。大模型技术架构通过最初的简单交互,逐渐发展为可对已有模型进行能力迁移学习扩展的架构,这个过程包括了四大技术架构的演进,分别为:纯Prompt、Agent F…

香橙派AIpro测试SPI通信

香橙派AIpro开发板上有一个SPI接口,如下图红框所示, 系统启动后,其对应的设备是 /dev/spidev0.0 一 硬件回环测试 香橙派AIpro上的系统自带spidev_test工具,非常方便,可以查看其帮助信息,如下&#xff0c…

这个网站有点意思,可做SPRINGBOOT的启动图

在 SpringBoot 项目的 resources 目录下新建一个 banner.txt 文本文件,然后将启动 Banner 粘贴到此文本文件中,启动项目,即可在控制台展示对应的内容信息。 下面这个工具很好用,收藏精哦

MySQL概述——DDL

1.SQL通用语法 1.SQL语句可以单行或多行书写,以分号结尾。 2. SQL语句可以使用空格/缩进来增强语句的可读性。 3.MySQL数据库的SQL语句不区分大小写,关键字建议使用大写。 4.注释: (1)单行注释:--注释内容或#注释内容(MySQL特…

我用AI绘画Stable Diffusion 一个月后,竟然能做出惊艳所有人的效果!

大家好,我是设计师阿威 如今要拍摄一组写真,需要服装、道具、灯光、场地、布景、拍摄、后期等过程。整个过程需要统一才能形成好的写真效果。现在有了AI绘图技术,我们可以实现通过AI绘图,只用计算机计算就得到一组接近真实的写真照…

P450Rdb: CYP450数据库--地表最强系列--文献精读24

P450Rdb: A manually curated database of reactions catalyzed by cytochrome P450 enzymes P450Rdb: 一个人工整理的细胞色素P450酶催化反应数据库 http://www.cellknowledge.com.cn/p450rdb/ 还有一篇类似CYP450综述-20年-地表最强系列-文献精读-4 要点: P450…

Postman简介

目录 1.概述 2.诞生背景 3.历史版本 4.安装和卸载 5.菜单和菜单项 6.使用 7.应用场景 8.示例 8.1.简单的GET请求 8.2.POST请求提交数据 8.3.查询参数 9.未来展望 10.总结 1.概述 Postman是一款用于API开发、测试和文档管理的综合性工具。允许开发者和测试人员创建…

1.PyQt6库和工具库QTDesigner安装

1.安装PyQT6和pyqt6-tools 1. PyQt6库是PyQt的开发库 2.pyqt6-tool时QTDesigner设计器工具支持库 pip install PyQt6 pip install pyqt6-tools 2.在Pycharm中配置外部工具QTDesigner和PYGIC 配置外部工具QTDesigner 1. QTDesigner是QT界面设计器 2.打开Pycharm->Settin…

牛客仓鼠的鸡蛋

分析一下判断语句 如果能放就输出位置 不能放就输出-1 不能放的条件是最大值小于要放的鸡蛋数量,线段树维护最大值 放的位置用线段树二分 每个篮子不能放超过k堆鸡蛋,记录一下每个篮子放的次数,次数等于k后给最大值附上0即可 // Proble…

Python连接Redis(简单连接、连接池连接、存取数据示例)

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…

【2024最新精简版】MyBatis面试篇

文章目录 mybatis内部实现过程mybatis延迟加载请说说MyBatis的工作原理mybatis接口里的方法,参数不同时能重载吗mybatis分页插件的原理是什么?mybatis的一级、二级缓存👍mybatis如何实现多表查询mybatis如何实现批量插入👍mybatis动态SQL标签…

【最新鸿蒙应用开发】——关于鸿蒙MVVM模式的理解

MVVM模式 MVVM(Model-View-ViewModel)是一种软件设计模式,主要用于分离应用程序的用户界面(UI)和业务逻辑。这种模式可以帮助开发者更高效地开发和管理复杂的用户界面。 程序的状态数据通常包含了数组、对象&#xff0…

Linux内存从0到1学习笔记(8.15 MMU/IOMMU/SMMU概览)

一, 什么是MMU? MMU(Memory Management Unit 内存管理单元),即内存管理单元,是计算机硬件中的一个重要组件,主要负责处理中央处理器(CPU)的内存访问请求。 其工作原理如下: 当程序发出内存访问请求,包括读取或写入操作以及逻辑地址(虚拟地址)。然后,MMU根据页表…

自动化测试git的使用

git是一款分布式的配置管理工具。本文主要讲git如何在自动化测试中安装,上传及拉取下载代码。 1 、git 介绍 每天早上到公司,从公司的git服务器上下载最新的代码,白天在最新的代码基础上,编写新的代码,下班时把“代码…

[Java基本语法] 异常

🌸个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 🏵️热门专栏:🍕 Collection与数据结构 (92平均质量分)https://blog.csdn.net/2301_80050796/category_12621348.html?spm1001.2014.3001.5482 🧀线程与…

Linux 内核 (十二)进程间通讯 之 消息队列

前言 这个系列的上一篇介绍了进程间通讯关于管道相关的内容及代码实例,本章要介绍关于消息队列相关的内容. 消息队列交互图示 函数原型 #include <sys/msg.h> #include <sys/ipc.h> //创建 or 打开队列 成功返回队列ID,失败返回-1 int msgget(key_t key,int fla…

探索AIGC与3D技术的融合:从图像到可探索的3D动态场景

随着人工智能和计算机图形技术的飞速发展,AIGC(人工智能生成内容)与3D技术的结合正在为我们打开一扇全新的创意之门。最近,我深入研究了几个令人兴奋的AIGC+3D方案,它们不仅展示了从单张图片或文本提示生成3D点云的强大能力,还进一步实现了AI虚拟试穿和生成高保真3D数字人…

Qt信号槽的回调机制

问&#xff1a;Qt强大的地方在哪里&#xff1f; 答&#xff1a;跨平台、信号槽。。。 问&#xff1a;信号槽是什么&#xff1f; 答&#xff1a;回调函数 问&#xff1a;怎么个回调法子 答&#xff1a;。。。 成果 信号槽本身实现过程是有些复杂的&#xff0c;所以本人参考…

CDN绕过技术

DNS域名信息收集 简介 Dns域名信息的手机&#xff0c;需要收集域名对应IP&#xff0c;域名注册人&#xff0c;DNS记录&#xff0c;子域名等一系列与域名相关的信息。 Cdn技术简介 Cdn是一个内容分发网络&#xff0c;类似于dns服务器一样&#xff0c;用户发送数据直接发送到…

AI Assistant 2024 震撼登场:AI补全功能惊艳来袭,替换GitHub Copilot Chat最友好的方式!

哈喽!欢迎来到程序视点。 前言 在之前的文章中&#xff0c;我们提到过“JetBrains 2024.1 中&#xff0c;AI Assistant 插件已被解绑&#xff0c;现在作为单独的插件在 JetBrains IDE 中可用”。 这一变化的驱动力是&#xff0c;需要在使用 AI 驱动的技术时提供更大的决策灵活…