Mongodb的介绍和安装

学习目标

了解 非关系型数据库的优势了解 mongodb的安装

1. mongodb的介绍

1.1 什么是mongodb

mongodb 是一个功能最丰富的NoSQL非关系数据库。由 C++ 语言编写。mongodb 本身提供S端存储数据,即server;也提供C端操作处理(如查询等)数据,即client。

1.2 SQL和NoSQL的主要区别

在SQL中层级关系: 数据库>表>数据而在NoSQL中则是: 数据库>集合>文档

1.2.1 数据之间无关联性

SQL中如何需要增加外部关联数据的话,规范化做法是在原表中增加一个外键,关联外部数据表。NoSQL则可以把外部数据直接放到原数据集中,以提高查询效率。缺点也比较明显,对关联数据做更新时会比较麻烦。SQL中在一个表中的每条数据的字段是固定的。而NoSQL中的一个集合(表)中的每条文档(数据)的key(字段)可以是互不相同的。

1.2.2 拓展阅读

https://www.cnblogs.com/jeakeven/p/5402095.html

1.3 mongodb作为非关系型数据库相较于关系型数据库的优势

易扩展: NoSQL数据库种类繁多, 但是一个共同的特点都是去掉关系数据库的关系型特性。 数据之间无关系, 这样就非常容易扩展

大数据量,高性能: NoSQL数据库都具有非常高的读写性能, 尤其在大数据量下表现优秀。 这得益于它的非关系性,数据库的结构简单

灵活的数据模型: NoSQL无需事先为要存储的数据建立字段, 随时可以存储自定义的数据格式。 而在关系数据库中, 增删字段是一件非常麻烦的事情。 如果是非常大数据量的表, 增加字段简直就是一个噩梦

2. mongodb的安装

以ubuntu18.04为例

mongodb具有两种安装方式:命令安装 或 源码安装

2.1 命令安装

在ubuntu中使用apt-get工具安装

sudo apt-get install -y mongodb-org

或参考官方文档 https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/

2.2 源码安装

2.2.1 选择相应版本和操作系统并下载

https://www.mongodb.com/download-center/community?jmp=docs

2.2.2 解压

tar -zxvf mongodb-linux-x86_64-ubuntu1804-4.0.3.tgz

2.2.3 移动到/usr/local/目录下

sudo mv -r mongodb-linux-x86_64-ubuntu1804-4.0.3/ /usr/local/mongodb

2.2.4 在shell的初始化脚本.bashrc中添加mongodb可执行文件到环境变量PATH中

a. 进入.bashrc文件中

cd ~

sudo vi .bashrc

b. 在.bashrc文件的最后添加:

export PATH=/usr/local/mongodb/bin:$PATH

3. mongodb的官方文档

https://docs.mongodb.com/manual/introduction/

小结

了解 非关系型数据库的优势

易扩展高性能灵活的数据字段 了解 mongodb的安装

sudo apt-get install -y mongodb-org

mongodb的简单使用

学习目标

掌握 服务端的启动掌握 客户端的使用掌握 mongodb的数据库和集合命令了解 文档中的_id字段

1. mongodb服务端的启动

默认端口:27017默认配置文件的位置:/etc/mongod.conf默认日志的位置:/var/log/mongodb/mongod.log

mongodb服务端启动分别两种方式:

本地测试方式的启动(只具有本地数据增删改查的功能)生产环境启动(具有完整的全部功能)

1.1 测试方式启动

启动: sudo service mongod start (sudo service mongod start)停止: sudo service mongod stop重启: sudo service mongod restart

1.2 生产环境正式的启动方式

启动: sudo mongod [–auth --dbpath=dbpath --logpath=logpath --append --fork] [-–f logfile ]

只以 sudo mongod 命令启动时,默认将数据存放在了 /data/db 目录下,需要手动创建–dbpath: 指定数据库的存放路径–logpath: 指定日志的存放路径–append: 或–logappend 设置日志的写入形式为追加模式–fork: 或-fork 开启新的进程运行mongodb服务–f: 或-f 配置文件路径(可以将上述配置信息写入文件然后通过该文件中的参数进行加载启动)–auth: 以权限认证的方式启动,我们会在后边的课程中学习该内容

1.3 查看是否启动成功

ps aux | grep mongod

2. 启动mongodb的客户端:进入mongo shell

启动本地客户端: mongo查看帮助:mongo –help退出:exit或者ctrl+c

3. mongodb的简单使用

开启mongodb server的情况下,在进入mongo shell后,就可以做简单的使用了

3.1 mongodb数据库的命令

查看当前的数据库:db(没有切换数据库的情况下默认使用test数据库)查看所有的数据库:show dbs /show databases切换数据库:use db_name

db_name为show dbs后返回的数据库名 删除当前的数据库:db.dropDatabase()

3.2 mongodb集合的命令

无需手动创建集合: 向不存在的集合中第一次添加数据时,集合会自动被创建出来手动创建集合:

db.createCollection(name,options)db.createCollection(“stu”)db.createCollection(“sub”, { capped : true, size : 10 } )参数capped:默认值为false表示不设置上限,值为true表示设置上限参数size:集合所占用的字节数。 当capped值为true时,需要指定此参数,表示上限大小,当文档达到上限时, 会将之前的数据覆盖,单位为字节 查看集合:show collections删除集合:db.集合名称.drop()检查集合是否设定上限: db.集合名.isCapped()

3.3 简单练习

在mongo shell中输入下列命令,查看结果

show dbs

use test

show collections

db

db.stu.insert({'name':'郭靖', 'age':22})

show dbs

show collections

db.stu.find()

db.stu.drop()

show collections

db.dropDatabase()

show dbs

exit

3.3 mongodb中常见的数据类型(了解)

3.3.1 常见类型

Object ID: 文档ID/数据的ID,数据的主键String: 字符串,最常用,必须是有效的UTF-8Boolean: 存储一个布尔值,true或falseInteger: 整数可以是32位或64位,这取决于服务器Double: 浮点数Arrays: 数组/列表Object: mongodb中的一条数据/文档,即文档嵌套文档Null: 存储null值Timestamp: 时间戳,表示从1970-1-1到现在的总秒数Date: 存储当前日期或时间的UNIX时间格式

3.3.2 注意点

每个文档都有一个属性,为_id,保证每个文档的唯一性,mongodb默认使用_id作为主键

可以手动设置_id的值,如果没有提供,那么MongoDB为每个文档提供了一个独特的_id, 类型为objectID objectID是一个12字节的十六进制数,每个字节两位,一共是24位的字符串:

前4个字节为当前时间戳接下来3个字节的机器ID接下来的2个字节中MongoDB的服务进程id最后3个字节是简单的增量值

小结

服务端的启动

sudo mongod --dbpath=数据库路径 进入mongo shell客户端

mongo mongodb的数据库和集合命令

show dbsuse db_nameshow collectionsdbdb.集合名.drop()db.dropDatabase()exit 了解文档中的_id字段

精彩内容

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: