MongoDB简介

MongoDB是一个基于分布式文件存储的数据库,它是一个介于关系数据库和非关系数据库之间的产品,其主要目标是在键/值存储方式(提供了高性能和高度伸缩性)和传统的RDBMS系统(具有丰富的功能)之间架起一座桥梁,它集两者的优势于一身。

MongoDB支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型,也因为他的存储格式也使得它所存储的数据在Nodejs程序应用中使用非常流畅。

既然称为NoSQL数据库,Mongo的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。

但是,MongoDB也不是万能的,同MySQL等关系型数据库相比,它们在针对不同的数据类型和事务要求上都存在自己独特的优势。在数据存储的选择中,坚持多样化原则,选择更好更经济的方式,而不是自上而下的统一化。

较常见的,我们可以直接用MongoDB来存储键值对类型的数据,如:验证码、Session等;由于MongoDB的横向扩展能力,也可以用来存储数据规模会在未来变的非常巨大的数据,如:日志、评论等;由于MongoDB存储数据的弱类型,也可以用来存储一些多变json数据,如:与外系统交互时经常变化的JSON报文。而对于一些对数据有复杂的高事务性要求的操作,如:账户交易等就不适合使用MongoDB来存储。

MongoDB官网

访问MongoDB

在Spring Boot中,对如此受欢迎的MongoDB,同样提供了自配置功能。

引入依赖

Spring Boot中可以通过在pom.xml中加入spring-boot-starter-data-mongodb引入对mongodb的访问支持依赖。它的实现依赖spring-data-mongodb。是的,您没有看错,又是spring-data的子项目,之前介绍过spring-data-jpaspring-data-redis,对于mongodb的访问,spring-data也提供了强大的支持,下面就开始动手试试吧。

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>

  

源码来源

转载于:https://www.cnblogs.com/allalongx/p/8526785.html

Spring Boot教程(三十五)使用MongoDB数据库(1)相关推荐

  1. Spring Boot教程(十五)使用Intellij中的Spring Initializr来快速构建Spring Boot/Cloud工程...

    在之前的所有Spring Boot和Spring Cloud相关博文中,都会涉及Spring Boot工程的创建.而创建的方式多种多样,我们可以通过Maven来手工构建或是通过脚手架等方式快速搭建,也 ...

  2. Spring Boot教程(二十):Spring Boot使用String Task定时任务

    一.JAVA常见的几种定时任务比较 Timer:jdk自带的java.util.Timer类,这个类允许你调度一个java.util.TimerTask任务.使用这种方式可以让程序按照某一个频度执行, ...

  3. Spring Boot教程(十四)快速入门

    快速入门 本章主要目标完成Spring Boot基础项目的构建,并且实现一个简单的Http请求处理,通过这个例子对Spring Boot有一个初步的了解,并体验其结构简单.开发快速的特性. 系统要求: ...

  4. Vue + Spring Boot 项目实战(五):数据库的引入

    文章目录 一.引入数据库 1.安装数据库 2. 安装mysql 3. MySQL客户端 4. .使用 Navicat 创建数据库与表 二.使用数据库验证登录 1.项目相关配置 2.登录控制器 2.1. ...

  5. Spring Boot入门教程(三十五):支付宝集成-准备工作

    分享一个朋友的人工智能教程.比较通俗易懂,风趣幽默,感兴趣的朋友可以去看看. 一:注册账号&创建应用 集成第三方的功能(无论是集成支付宝还是微信或者其他的都是一样)的第一步一般都是要跑到其类似 ...

  6. 企业级 Spring Boot 教程 (十四)用restTemplate消费服务

    构架工程 创建一个springboot工程,去消费RESTFUL的服务.这个服务是 http: ///gturnquist-quoters.cfapps.io/api/random ,它会随机返回Js ...

  7. 学习Spring Boot:(十五)使用Lombok来优雅的编码

    前言 Lombok 是一种 Java? 实用工具,可用来帮助开发人员消除 Java 的冗长,尤其是对于简单的 Java 对象(POJO).它通过注解实现这一目的. 正文 添加依赖 在 pom.xml ...

  8. tensorflow入门教程(三十五)facenet源码分析之MTCNN--人脸检测及关键点检测

    # #作者:韦访 #博客:https://blog.csdn.net/rookie_wei #微信:1007895847 #添加微信的备注一下是CSDN的 #欢迎大家一起学习 # ------韦访 2 ...

  9. Spring Boot教程(十二)整合elk(1)

    elk 简介 Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等. Logstash是 ...

  10. 第五十五期:MongoDB数据库误删后的恢复

    如果部署的是 MongoDB 复制集,这时还有一线希望,可以通过 oplog 来尽可能的恢复数据;MongoDB 复制集的每一条修改操作都会记录一条 oplog:如果对 MongoDB 做了全量备份 ...

最新文章

  1. js小数运算出现多为小数问题_JS操作小数运算,结果莫名其妙出现多位小数问题...
  2. php如何给进入网页加入密码,怎么给一个PHP密码访问页面加超链接
  3. 文件传输:二进制文件传输与文本传输(file transfer)
  4. 数据中台模型设计系列(一):维度建模初探
  5. Excel-数据分列的多种方法实现
  6. 天天象棋 残局闯关 第16关
  7. Scrapy中Request的回调函数不执行
  8. CSS: HTML 和 Body 的区别
  9. python面向对象难学_学不下去了!?详解Python面向对象核心概念,简历没跑了
  10. Python 笔记(一)字典与json使用及注意点
  11. windows mysql 自动备份_windows mysql 自动备份的几种方法总结--岁月博客提供
  12. 数据结构 严蔚敏 4.3.4
  13. 哈工大《同义词词林》共享版的若干改进
  14. H264 视频文件 帧格式 传输封装等
  15. 【C语言】'\0'、'0'、' '、“0”、0详解
  16. 水深6到9米有鱼吗_红黄尾鲴鱼钓法大全(附配方)
  17. layim之查看更多聊天记录
  18. AUTOSAR DCM
  19. 【观察】从社恐症到社牛症,有一台微软Surface就够了
  20. 简单脚本测试--对谈式脚本@read

热门文章

  1. 17岁破解iPhone 乔治·霍茨 2000行代码搞定特斯拉无人驾驶
  2. 二层广播风暴(产生原因+判断+解决)
  3. python翻译程序-Python:谷歌翻译20次的程序如何实现?
  4. doccano在linux系统的安装流程
  5. 跳出while循环的三种方法
  6. 为啥只有IPv4和IPv6,没有IPv5呢?
  7. Nett源码剖析(2)NioEventloopGroup的创建2021SC@SDUSC
  8. Kafka 集群在马蜂窝大数据平台的优化与应用扩展
  9. java实现txt文件/文本转语音(全网最详细易懂)
  10. Java 之父高斯林加入亚马逊 AWS