本节主要学习了MongoDB的概述,应用场景,安装方式,目录结构,默认数据库,数据库操作,MongoDB数据备份
目录
一、概述
1、相关概念
2、特性
二、应用场景
三、安装
1、编译安装
2、rpm安装
3、启动数据库
四、目录结构
1、rpm -ql mongodb-org-server
2、rpm -ql mongodb-org-shell
3、rpm -ql mongodb-org-tools
五、默认数据库
六、数据操作
1、库操作
2、文档操作
查看集合
创建集合
删除集合
插入数据(文档)
查询数据
删除数据
更新数据
更新文档进行数值递增
七、MongoDB数据库备份
1、备份命令
1.mongodump
①选项
②语法
2.mongoexport
①选项
②语法
2、回复命令
1.mongorestore
①选项
②语法
2.mongoimport
①选项
②语法
mongodb是一个nosql数据库,它有高性能、无模式、文档型的特点。是nosql数据库中功能最丰富,最像关系数据库的。数据库格式为BSON
游戏 物流 社交 物联网 视频直播 大数据
[mongodb-org-4.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.2/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc
安装:
yum install -y mongodb-org
systemctl start mongod.service
/etc/mongod.conf | 主配置文件 port: 27017 监听端口号 bindIp: 127.0.0.1 监听地址 |
/run/mongodb | PID文件 |
/usr/bin/mongod | 启动命令 |
/var/lib/mongo | 存储数据文件 |
/var/log/mongodb | 日志 |
/usr/bin/mongo 客户端命令
/usr/bin/mongodump | 备份数据库 |
/usr/bin/mongoexport | 备份文档 |
/usr/bin/mongoimport | 恢复文档 |
/usr/bin/mongorestore | 恢复数据库 |
admin:
从权限的角度来看,这是"root"数据库。要是将一个用户添加到这个数据库,这个用户自动继承所有数据库的权限。
一些特定的服务器端命令也只能从这个数据库运行,比如列出所有的数据库或者关闭服务器。
local:
这个数据库永远不会被复制,可以用来存储限于本地单台服务器的任意集合。
config:
当Mongo用于分片设置时,config数据库在内部使用,用于保存分片的相关信息。
查看数据库 | show databases show dbs |
显示当前所在数据库 | db |
切换数据库 | use dbName |
数据库创建 | 隐式创建 只有在库中创建集合后才会保存,并使用show dbs查看到 |
删除数据库 | db.dropdatabase() |
查看
切换数据库
删除数据库
show tables
db.createCollection("test")
db.需要删除的集合名称.drop()
db.集合名称.insert({key:value}) 单行
db.集合名称.insertmany([{key:value},{key:value},{key:value}]) 多行
mongodb默认数字的数据类型float浮点型,若要改变为整型:NumberInt(数字)
全集合查询 db.集合名称.find({}) db.集合名称.find()
条件查询 db.info.find({查询条件1key:value,查询条件2,...},{key1:1|0,key2:1|0,...})
key:1 显示,key:0 不显示
当显示的key只有一个时,key:1 只显示该key及对应value,key:0 显示除了该key之外其他所有keyvalue
查询集合中有多少文档
db.集合名称.count()
全文删除 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)}})
创建
更新
-h=hostname:port
-u=
-p=
--authenticationDatabase=
-d=
-o=
mongodump -d dbName -h hostName:port -u userName -p Password -o backupDirectory
-h=hostname:port
-u=
-p=
--authenticationDatabase=
-d=
-o=
mongoexport -d dbName -c tableName -h hostName:port -u userName -p Password -o backupDirectory/jsonFile.json
-h=hostname:port
-u=
-p=
--authenticationDatabase=
-d=
--drop 当目标数据库中存在同名集合则删除再恢复
mongorestore -h hostName -u username -p password -d dbName -c tableName bakcupDirector/bsonFile
-h=hostname:port
-u=
-p=
--authenticationDatabase=
-d=
--drop 当目标数据库中存在同名集合则删除再恢复
mongoimport -d dbName -c tableName -h hostName:port -u userName -p Password backupDirectory/jsonFile.json
查看生成文件
删除
恢复