前言
文章内容输出来源:拉勾教育Java高薪训练营;
NoSQL=Not Only SQL,支持类似SQL的功能, 与Relational Database相辅相成。其性能较高,不使用SQL意味着没有结构化的存储要求(SQL为结构化的查询语句),没有约束之后架构更加灵活。
NoSQL数据库四大家族 列存储 Hbase,键值(Key-Value)存储 Redis,图像存储 Neo4j,文档存储 MongoDB
MongoDB 是一个基于分布式文件存储的数据库,由 C++ 编写,可以为 WEB 应用提供可扩展、高性能、易部署的数据存储解决方案。
MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库中功能最丰富、最像关系数据库的。在高负载的情况下,通过添加更多的节点,可以保证服务器性能。
MongoDB体系结构
MongoDB使用了BSON这种结构来存储数据和网络数据交换。那 BSON 是什么呢?
BSON是一种类json的一种二进制形式的存储格式,简称Binary JSON,它和JSON一样,支持内嵌的文档对象和数组对象,但是BSON有JSON没有的一些数据类型,如Date和Binary Data类型。BSON可以做为网络数据交换的一种存储形式,是一种schema-less的存储形式,它的优点是灵活性高,但它的缺点是空间利用率不是很理想。{key:value,key2:value2} 这是一个BSON的例子,其中key是字符串类型,后面的value值,它的类型一般是字符串,double,Array,ISODate等类型。
BSON有三个特点:轻量性、可遍历性、高效性
MongoDB把 BSON 这种格式转化成一文档这个概念(Document),这里的一个Document也可以理解成关系数据库中的一条记录(Record),只是这里的Document的变化更丰富一些,如Document可以嵌套。
MongoDB中Document 中 可以出现的数据类型
安装
官网
https://www.mongodb.com/
选择自己合适的下载。
下载之后安装,我这里下载的是 linxu 版本。放到服务器上之后解压
tar -zxvf mongodb-linux-x86_64-4.1.3.tgz
编写 mongo.conf
创建配置文件,配置内容如下。指定路径端口和访问ip 等等配置。
dbpath=/data/mongo/
port=27017
bind_ip=0.0.0.0
fork=true
logpath = /data/mongo/MongoDB.log
logappend = true
auth=false
参数说明:
参数 | 说明 |
---|
启动
./mongod -f mongo.conf
说明启动成功啦。
连接
我们mongo 服务已经启动了,我们怎么像进入 mysql 进入mongo 数据库呢?
#默认配置启动
./bin/mongo
#指定主机和端口的方式启动
./bin/mongo --host=127.0.0.1 --port 27017
我们可以通过可视化工具来使用,类似于MySQL 的 navicat。
mongobooster下载地址:
https://nosqlbooster.com/downloads
下载安装完之后,连接mongo 数据库就可以了
Mongo 命令
MongoDB 的基本操作
库级别
1、查看数据库
show dbs;
2、创建数据库(切换数据库)
use 数据库名;
eg:
use test
3、删除库
#删除当前数据库
db.dropDatabase();
表级别
1、创建集合
db.createCollection("集合名")
2、查看集合
show tables;
show collections;
3、删除集合
db.集合名.drop();
eg:
db.user.drop();