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

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.rhkb.cn/news/357009.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

04_FFmpeg常用API及内存模型

【说明】课程学习地址:https://ke.qq.com/course/468797 FFmpeg内存模型 FFmpeg内存模型 int avcodec_send_packet(AVCodecContext *avctx, const AVPacket *avpkt); int avcodec_receive_frame(AVCodecContext *avctx, AVFrame *frame);问题(数据的申请和释放): …

opencascade AIS_InteractiveContext源码学习1 object display management 对象显示管理

AIS_InteractiveContext 前言 交互上下文(Interactive Context)允许您在一个或多个视图器中管理交互对象的图形行为和选择。类方法使这一操作非常透明。需要记住的是,对于已经被交互上下文识别的交互对象,必须使用上下文方法进行…

在同一个 Blazor 应用中结合 SQL-DB 和 MongoDB

介绍 传统上,在单应用程序中,我们对整个应用程序使用单个数据库服务器。但是,我将 SQL 数据库和 MongoDB 结合在同一个应用程序中。此应用程序将是 RDBMS 和 No SQL 数据库的组合。我们将从头开始创建一个 Blazor 应用程序,并使用…

Node.js 渲染三维模型并导出为图片

Node.js 渲染三维模型并导出为图片 1. 前言 本文将介绍如何在 Node.js 中使用 Three.js 进行 3D 模型渲染。通过结合 gl 和 canvas 这两个主要依赖库,我们能够在服务器端实现高效的 3D 渲染。这个方法解决了在服务器端生成和处理 3D 图形的需求,使得可…

Kotlin 语言基础学习

什么是Kotlin ? Kotiln翻译为中文是:靠他灵。它是由JetBrains 这家公司开发的,JetBrains 是一家编译器软件起家的,例如常用的WebStorm、IntelliJ IDEA等软件。 Kotlin官网 JetBrains 官网 Kotlin 语言目前的现状: 目前Android 已将Kotlin 作为官方开发语言。 Spring 框…

SVN学习(002 svn冲突解决)

尚硅谷SVN高级教程(svn操作详解) 总时长 4:53:00 共72P 此文章包含第20p-第p29的内容 冲突 产生冲突的操作 (第一种 相互不影响的操作) 用户1修改第二行 用户2修改第四行 用户1提交 用户2提交,提交的时候会提示版本已过时 这时将用…

ShareX,屏幕截图、屏幕录制和文件共享,还提供了丰富的高级功能和自定义选项

ShareX是一个免费开源的Windows应用程序,用于屏幕截图、屏幕录制和文件共享。它不仅支持基本的屏幕截图功能,还提供了丰富的高级功能和自定义选项,使其成为提高工作效率和截图体验的利器。以下是ShareX v16.1.0便携版的主要功能和特色&#x…

如何跳出认知偏差,个人认知能力升级

一、教程描述 什么是认知力?认知力(cognitive ability),实际上就是指一个人的认知能力,是指人的大脑加工、储存和提取信息的能力,或者主观对非主观的事物的反映能力,如果变成大白话&#xff0c…

RIP与OSPF发布默认路由(华为)

#交换设备 RIP与OSPF发布默认路由 合理使用默认路由可以很大程度上减少本地路由表的大小,并可以较好的隐藏一个网络中的路由信息,保护自身网络的隐秘性 另外如果在同一个路由器两端使用了不同的路由协议,那么如果不做路由引入或者发布默认…

JVM 性能分析案列——使用 JProfiler 工具分析 dump.hprof 堆内存快照文件排查内存溢出问题

在 windows 环境下实现。 参考文档 一、配置 JVM 参数 配置两个 JVM 参数: -XX:HeapDumpOnOutOfMemoryError,配置这个参数,会在发生内存溢出时 dump 生成内存快照文件(xxx.hprof)-XX:HeapDumpPathF:\logs&#xff…

公共 IP 地址和私有 IP 地址的区别总结

什么是IP地址? IP 地址,即互联网协议地址(Internet Protocol Address),是网络设备在网络中进行通信的标识。IP 地址可以看作是设备在网络中的“地址”,有助于数据包在网络中找到正确的接收端。IP 地址主要…

华为---RIP路由协议的汇总

8.3 RIP路由协议的汇总 8.3.1 原理概述 当网络中路由器的路由条目非常多时,可以通过路由汇总(又称路由汇聚或路由聚合)来减少路由条目数,加快路由收敛时间和增强网络稳定性。路由汇总的原理是,同一个自然网段内的不同子网的路由在向外(其他…

UI设计速成课:理解模态窗口与非模态窗口的区别

我们日常所说的弹性框架是非常笼统的概念。我们习惯性地称之为对话框架、浮动层和提示条。弹性框架可以分为两种:模态弹性框架和非模态弹性框架。产品需要弹性框架来传递信息,用户需要弹性框架来接受反馈,但是没有经过推敲的弹出窗口设计很容易让用户感到…

链表中环的入口节点

链表中环的入口节点 描述 链表中环的入口节点 给一个长度为n链表&#xff0c;若其中包含环&#xff0c;请找出该链表的环的入口结点&#xff0c;否则&#xff0c;返回null。 数据范围&#xff1a; n≤10000&#xff0c; 1<结点值<10000 要求&#xff1a;空间复杂度 O(1)…

Android使用MPAndroidChart 绘制折线图

效果图&#xff1a; 1.导入依赖 1.1在项目根目录下的build.gradle文件中添加代码&#xff08;注意不是app下的build.gradle&#xff09;&#xff1a; maven { url https://jitpack.io } 1.2在app下的build.gradle中的依赖下添加&#xff1a; implementation com.github.PhilJa…

外部存储器

外部存储器是主存的后援设备&#xff0c;也叫做辅助存储器&#xff0c;简称外存或辅存。 它的特点是容量大、速度慢、价格低&#xff0c;可以脱机保存信息&#xff0c;属于非易失性存储器。 外存主要有&#xff1a;光盘、磁带、磁盘&#xff1b;磁盘和磁带都属于磁表面存储器…

6G时代,即将来临!

日前&#xff0c;由未来移动通信论坛、紫金山实验室主办的2024全球6G技术大会在南京召开。本次大会以“创新预见6G未来”为主题&#xff0c;在大会开幕式上发布了协力推进全球6G统一标准行动的倡议和紫金山科技城加速培育以6G技术引领未来产业行动计划。 在我国已开展第五代移动…

Python发送Email的性能怎么样?如何配置?

Python发送Email怎么配置SMTP&#xff1f;批发邮件的方法技巧&#xff1f; Python是一种广泛使用的编程语言&#xff0c;因其简洁和强大的功能深受开发者喜爱。在许多应用场景中&#xff0c;Python发送Email是一个常见需求。那么&#xff0c;Python发送Email的性能怎么样呢&am…

HarmonyOS【ArkUI组件--TextInput】

1.文本输入框基本用法 2. 使用文本输入框组件&#xff08;如何实现输入数字改变图片大小&#xff09; 在此博客的基础上继续编写&#xff1a;HarmonyOS【ArkUI组件--Text】-CSDN博客 ①代码如下&#xff1a; import font from ohos.font Entry Component struct Index {State …

深入理解Python中的并发与异步的结合使用

​ 在上一篇文章中&#xff0c;我们讨论了异步编程中的性能优化技巧&#xff0c;并简单介绍了trio和curio库。今天&#xff0c;我们将深入探讨如何将并发编程与异步编程结合使用&#xff0c;并详细讲解如何利用trio和curio库优化异步编程中的性能。 文章目录 并发与异步编程的区…