工业互联网技术与应用 课件 项目6:工业互联网中的数据库服务_第1页
工业互联网技术与应用 课件 项目6:工业互联网中的数据库服务_第2页
工业互联网技术与应用 课件 项目6:工业互联网中的数据库服务_第3页
工业互联网技术与应用 课件 项目6:工业互联网中的数据库服务_第4页
工业互联网技术与应用 课件 项目6:工业互联网中的数据库服务_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

项目6工业互联网中的数据库服务项目6工业互联网中的数据库服务【知识目标】了解MongoDB数据库。理解MongoDB数据库在工业互联网中的作用。熟练掌握MongoDB数据库的基本操作。熟练掌握Pymongo包的基本操作。【能力目标】具备工业互联网中数据库设计的综合能力具备良好技术文档编制的综合能力具备MongoDB数据库应用和管理能力任务1认识MongoDB数据库任务2MongoDB数据库的应用项目6工业互联网中的数据库服务任务1

认识MongoDB数据库1.1MongoDB数据库介绍MongoDB是当前NoSQL数据库产品中最热门的一种,由C++语言开发。它支持的数据结构非常松散,类似json的bjson格式,因此可以存储比较复杂的数据类型。MongoDB是一个高性能、开源,面向集合的,无模式的文档型数据库,可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。任务1

认识MongoDB数据库1.1MongoDB数据库介绍MongoDB组成图MongoDB的逻辑结构是一种层次结构,主要由文档(document)、集合(collection)、数据库(database)这三部分组成的。任务1

认识MongoDB数据库1.1MongoDB数据库介绍MongoDB是一个面向集合的,模式自由的文档型数据库。具体特点总结如下:面向集合存储,易于存储对象类型的数据模式自由支持动态查询支持完全索引,包含内部对象支持复制和故障恢复使用高效的二进制数据存储,包括大型对象(如视频等)自动处理碎片,以支持云计算层次的扩展性支持Python,PHP,Ruby,Java,C,C#,Javascript,Perl及C++语言的驱动程序,社区中也提供了对Erlang及.NET等平台的驱动程序任务1

认识MongoDB数据库1.2MongoDB的作用工业互联网涉及到大量工业数据,对于处理庞大数据库的项目来说放弃SQLserver等关系型数据库,转而选择MongoDB是个非常不错的决定。1)面向文档且架构更为灵活。2)可扩展性。3)基于位置的查询功能。4)综合查询。5)日志管理。任务1

认识MongoDB数据库拓展提升1.安装MongoDB1)centos7下载mongodb文件。输入命令:#wget

/linux/mongodb-linux-x86_64-4.0.1.tgz2)解压文件。输入命令:#tar-zxvf

mongodb-linux-x86_64-4.0.1.tgz-C/usr/local3)更改解压包名称。输入命令:#cd/usr/local/#mvmongodb-linux-x86_64-4.0.1mongodb4)在mongodb下创建文件,输入命令:#touchmongodb.conf#mkdirlogsdb#

chmod777db#

chmod777log任务1

认识MongoDB数据库5)在logs下创建mongodb.log。输入命令:#touchmongodb.log6)修改mongodb.conf,配置文档目录,输入命令:#vimmongodb.conf修改如下内容:port=27017#端口dbpath=/usr/local/mongodb/db#数据库存文件存放目录logpath=/usr/local/mongodb/log/mongodb.log#日志文件存放路径logappend=true#使用追加的方式写日志fork=true#以守护进程的方式运行,创建服务器进程maxConns=100#最大同时连接数noauth=true#不启用验证jostorageEngine=wiredTiger#存储引擎,有mmapv1、wiretiger、mongorocksbind_ip=任务1

认识MongoDB数据库7)添加环境变量。进入操作系统的主目录的/etc中添加环境变量,输入命令:#vim/etc/profile开始编辑,在exportPATHUSERLOGNAMEMAILHOSTNAMEHISTSIZEHISTCONTROL一行的上面添加如下内容:exportPATH=/usr/local/mongodb/bin:$PATH8)需要设置生效,输入命令:#cd#source/etc/profile2.启动MongoDB

启动mongodb服务,输入命令:#mongod--config/usr/local/mongodb/mongodb.conf任务2MongoDB数据库的应用2.1MongoDB的数据类型数据类型描述ObjectID⽂档IDString字符串Boolean⼀个布尔值,true或falseInteger整数可以是32位或64位,这取决于服务器Double浮点值Array数组或列表Null存储Null值Timestamp时间戳,

表示从1970-1-1到现在的总秒数Date存储当前⽇期或时间的UNIX时间格式任务2MongoDB数据库的应用2.2MongoDB基本操作

1.数据库的基本操作1)创建数据库MongoDB创建数据库的命令格式如下:useDATABASE_NAME;

//DATABASE_NAME为数据库名称如果数据库不存在,则创建数据库,否则切换到指定数据库。2)删除数据库useDATABASE_NAME;

#先切换到要删的库下接下来,MongoDB删除数据库的命令格式如下:db.dropDatabase();删除当前数据库,默认为test,可以使用db命令查看当前数据库名。3)查看数据库命令如下:showdbs;

任务2MongoDB数据库的应用2.2MongoDB基本操作

2.集合的基本操作1)创建集合步骤一:进入数据库,输入命令:useDATABASE_NAME;步骤二:创建集合。MongoDB中使用createCollection()方法来创建集合。输入命令:db.createCollection(name,options)2)集合中数据插入语法:db.CollectionName.insert({})//CollectionName为集合名称当第一个文档插入时,集合就会被创建并包含该文档。其实,在MongoDB中,你也可以不用直接创建集合。当你插入一些文档时,MongoDB会自动创建集合。实例:db.student.insert({name:”Lilei”})任务2MongoDB数据库的应用2.2MongoDB基本操作

2.集合的基本操作3)删除集合db.CollectionName.drop()//CollectionName为集合名称4)查看集合showcollections;5)集合的重命名db.role.renameCollection(‘user’);功能:将role重命名为user任务2MongoDB数据库的应用2.2MongoDB基本操作

3.文档的基本操作1)插入文档insert()方法是向文档中插入数据最基本的方法,该方法参数接受一个文档,将文档加入到目标集合中。命令格式:db.集合名称.insert({})实例:db.example.insert({name:"xxx",age:25})任务2MongoDB数据库的应用2.2MongoDB基本操作

2)删除文档①remove()方法命令格式:db.collection.remove(

<query>,

{

justOne:

<boolean>,

writeConcern:

<document>

}

)

该函数所有参数都为可选参数,如果全为空,代表删除集合里的所有文档。参数说明:query

:(可选)删除的文档的条件。justOne

:

(可选)如果设为

true

1,则只删除一个文档。writeConcern

:(可选)抛出异常的级别。任务2MongoDB数据库的应用2.2MongoDB基本操作

②deleteOne()方法命令格式:db.collection.deleteOne(<filter>,{writeConcern:<document>,collation:<document>})参数说明:<filter>使用查询运算符指定删除条件writeConcern是抛出异常的级别collation则是查询结果的排序规则,详细请看这里

CollationDocument.deleteOne()只能删除匹配到的第一条记录,即使匹配到多个也只删除一条。任务2MongoDB数据库的应用2.2MongoDB基本操作

③deleteMany()方法命令格式:db.collection.deleteMany(<filter>,{writeConcern:<document>,collation:<document>})deleteMany()方法的用法与deleteOne()一样,只是删除所有符合条件的文档。任务2MongoDB数据库的应用2.2MongoDB基本操作

3)文档的修改命令格式:db.collection.update(query,update,upsert,multi)参数说明:query参数:定位要更新的数据,相当于SQL中的where子句;update参数:将要更新的数据,相当于SQL中的set内容;upsert参数:默认为false,当query未找到文档时,则无法修改,为true时,则插入对应文档;multi参数:默认为false,当query找到多个文档时,则只更新第一条,为true,则全部更新。它的主要功能是更新一个文档数据。任务2MongoDB数据库的应用2.2MongoDB基本操作

4)文档的查找①find()方法命令格式:db.集合名称.find()要从MongoDB集合查询数据,需要使用find()方法。find()方法显示文档时是没有结构化的。②findOne()函数为了方便考虑,MongoDBshell避免游标可能带来的开销,提供一个findOne()函数。这个函数和find()函数一样,不过它返回的是游标里第一条数据,或者返回null,即空数据。③pretty()方法要以格式化的方式显示结果,可以使用pretty()方法。命令格式:db.集合名称.find().pretty()拓展提升通过实际操作让读者对于MongoDB数据库有更深刻的认识:在test数据库下创建名为test_user、密码为123456的用户账户,数据库下创建集合example,插入一条或多条数据,查看指定的数据,并对数据库进行备份。

任务2MongoDB数据库的应用首先,进入test数据库,输入命令:>usetest创建用户名为test_user、密码为123456的用户账户,输入命令:>db.createUser({user:"test_user",pwd:"123456",roles:[{role:"readWrite",db:"admin"}]})查看创建的管理员用户,输入命令:>showusers验证用户是否能用,输入命令:>db.auth("test_user","123456")注:返回1即为成功任务2MongoDB数据库的应用重启服务。重新登录,指定用户名和密码连接到指定的MongoDB数据库。输入命令:#mongo:27017/test-u“test_user”-p“123456”>db.createCollection("example");>db.example.insert(#在当前数据库下的example集合下新增一条数据...{..."name":"Lilei",..."rank":"第1名"...}...);任务2MongoDB数据库的应用for(vari=2;i<=10;i++){#通过for循环插入数据...db.example.insert({..."rank":"第"+i+"名"...});...}>db.example.find();>db.example.count();#统计当前数据库下exa

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论