一、什么是MongoDB?
二、MongoDB数据类型
三、mongodb-driver使用
四、MongoDB与MySQL的区别
一、什么是MongoDB?
MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。
Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。它的特点是高性能、易部署、易使用,存储数据非常方便。
1.MongoDB 的逻辑结构是一种层次结构。主要由:文档(document)、集合(collection)、数据库(database)这三部分组成的。逻辑结构是面向用户的,用户使用 MongoDB 开发应用程序使用的就是逻辑结构。
MongoDB 的文档(document),相当于关系数据库中的一行记录。文档中的键/值对是有序的。
多个文档组成一个集合(collection),相当于关系数据库的表。
多个集合(collection),逻辑上组织在一起,就是数据库(database)。
一个 MongoDB 实例支持多个数据库(database)。 文档(document)、集合(collection)、数据库(database)的层次结构如下图:
适合使用MongoDB来实现数据的存储
mongodb众所周知不支持事务,所以需要强事务的业务根本不能考虑mongodb。
数据量大、写入操作频繁、价值较低 。如博客、微博等。
mongodb的优势就是文档存储:
业务经常变动,需要不时的添加字段,那么mongodb比较适合,关系型数据库添加字段的复杂度也还好。
二、MongoDB数据类型
三、mongodb-driver使用
mongodb-driver是mongo官方推出的java连接mongoDB的驱动包,相当于JDBC驱动。我们现在来使用mongodb-driver完成对Mongodb的操作。
1 <dependency>
2 <groupId>org.mongodb</groupId>
3 <artifactId>mongodb-driver</artifactId>
4 <version>3.10.1</version>
5 </dependency>
四、MongoDB与MySQL的区别