一、概述
1.简介
mongodb是一个nosql数据库,它有高性能、无模式、文档型的特点。是nosql数据库中功能最丰富,最像关系数据库的。数据库格式为BSON。
2.Mongodb的文档模型具有的特点
弱类型
MongoDB 不要求文档中的属性具有相同的数据类型或者结构。
动态模式
MongoDB 允许您在一个集合中存储不同结构的文档。
嵌套属性
文档可以包含嵌套属性。
对象引用
文档可以通过在一个文档中引用另一个文档来建立关系。 通过使用文档模型,MongoDB 实现了比关系型数据库更加灵活的数据存储方式。
3.特性
1、面向集合文档存储,适合存储json形式的数据;
2、格式自由,数据格式不固定,数据结构发生变更的同时不会影响程序运行;
3、面向对象的sql查询语句,基本涵盖关系型数据库的所有查询语句;
4、有索引的支持,查询效率更快;
5、支持复制和自动故障转移;
6、可以使用分片集群提升查询性能
4. 默认数据库
admin库:
从权限的角度来看,这是"root"数据库。要是将一个用户添加到这个数据库,这个用户自动继承所有数据库的权限。一些特定的服务器端命令也只能从这个数据库运行,比如列出所有的数据库或者关闭服务器。
local库:
这个数据库永远不会被复制,可以用来存储限于本地单台服务器的任意集合。
config库:
当Mongo用于分片设置时,config数据库在内部使用,用于保存分片的相关信息。
5.操作命令
查看数据库 show databases&show dbs
显示当前所在数据库 db
切换数据库 use 库名
创建数据库 隐式创建 不用主动创建,使用use newDB,会自动创建不存在的数据库 只有在库中创建集合后才会保存,并使用show dbs查看到
删除数据库 use 库名 db.drop库名
查看集合 show tables
创建集合 db.create()
删除集合 db.需要删除的集合名称.drop()
插入数据(文档)
db.集合名称.insert({key:value}) 单行
db.集合名称.insertmany([{key:value},{key:value},{key:value}]) 多行
mongodb默认数字的数据类型float浮点型,若要改变为整型:NumberInt(数字)
删除数据
全文删除 db.集合名称.remove({})
条件删除 db.集合名称.remove({key:value})
更新数据
db.info.update({_id:"3"}, {$set:{nickname:"jack"}})
所有满足条件的文档都进行更新
db.info.update({userid:"1003"},{$set:{nickname:"tom"}},{multi:true})
更新文档进行数值递增
db.info.update({userid:"1003"},{$inc:{likenum:NumberInt(1000)}})
二、yum安装操作步骤
1.进入/etc/yum.repos.d准备mongodb源指定文件
2.yum安装mongodb
3.启动mongodb服务并查看
三、mongodb练习
1.登录
2.查看所有库
3.创建库并在库里创建集合
4.查看当前所在库
5.在集合里插入数据并查看
6.创建用户并登录