MongoDB数据库

目录

一、概述

二、安装

三、目录结构

四、MongoDB数据库操作

五、MongoDB数据库备份


一、概述

mongodb是一个nosql数据库,它有高性能、无模式、文档型的特点。是nosql数据库中功能最丰富,最像关系数据库的。数据库格式为BSON

相关概念

实例:系统上运行的mongodb的进程,类似于mysql实例;

库:每个数据库都是独立的,有自己的用户,权限,独立存储集合,类似于mysql的库;

集合:由一组文档构成,类似于mysql的表;

文档:mongodb数据库的最小数据集,是由多个键值对有序组合的数据单元,类似于mysql的数据记录;

主键:唯一标识一行数据

特性:
                1、面向集合文档存储,适合存储json形式的数据;
                2、格式自由,数据格式不固定,数据结构发生变更的同时不会影响程序运行;
                3、面向对象的sql查询语句,基本涵盖关系型数据库的所有查询语句;
                4、有索引的支持,查询效率更快;
                5、支持复制和自动故障转移;
                6、可以使用分片集群提升查询性能

应用场景:游戏、物流、社交、物联网、视频直播、大数据

二、安装

创建本地yum源

cd /etc/yum.repos.d/

 vim mongodb.repo

MongoDB数据库_第1张图片

yum install -y mongodb-org

MongoDB数据库_第2张图片

服务名:mongod

启动服务:systemctl start mongod

进入数据库:mongo

三、目录结构

1)rpm -ql mongodb-org-server

/etc/mongod.conf    主配置文件

port: 27017   监听端口号

bindIp: 127.0.0.1   监听地址

/run/mongodb   PID文件

/usr/bin/mongod    启动命令

/var/lib/mongo   存储数据文件

/var/log/mongodb   日志

2)rpm -ql mongodb-org-shell

/usr/bin/mongo   客户端命令

3)rpm -ql mongodb-org-tools

/usr/bin/mongodump   备份数据库

/usr/bin/mongoexport   备份文档

/usr/bin/mongoimport   恢复文档

/usr/bin/mongorestore    恢复数据库

四、MongoDB数据库操作

一)库操作

查看数据库

show databases

show dbs

MongoDB数据库_第3张图片

显示当前所在数据库:db

MongoDB数据库_第4张图片

切换数据库:use  dbName

MongoDB数据库_第5张图片

数据库创建:

隐式创建,不用主动创建,使用use newDB,会自动创建不存在的数据库;只有在库中创建集合后才会保存,并使用show dbs查看到

MongoDB数据库_第6张图片

删除数据库:

use dbName

db.dropdatabase()

MongoDB数据库_第7张图片

二)文档操作

查看集合:show tables

MongoDB数据库_第8张图片

创建集合:db.createCollection("test")

MongoDB数据库_第9张图片

删除集合:db.需要删除的集合名称.drop()

MongoDB数据库_第10张图片

插入数据(文档):

db.集合名称.insert({key:value})  单行

MongoDB数据库_第11张图片

db.集合名称.insertmany([{key:value},{key:value},{key:value}])    多行

MongoDB数据库_第12张图片

mongodb默认数字的数据类型float浮点型,若要改变为整型:NumberInt(数字)

MongoDB数据库_第13张图片

查询数据

全集合查询:

db.集合名称.find({})

MongoDB数据库_第14张图片

db.集合名称.find()

条件查询

db.集合名称.find({查询条件1key:value,查询条件2,...},{key1:1|0,key2:1|0,...})  key:1 显示,key:0 不显示当显示的key只有一个时,key:1 只显示该key及对应value,key:0 显示除了该key之外其他所有keyvalue

MongoDB数据库_第15张图片

查询集合中有多少文档:db.集合名称.count()

删除数据:

全文删除   db.集合名称.remove({})

MongoDB数据库_第16张图片

条件删除   db.集合名称.remove({key:value})

MongoDB数据库_第17张图片

更新数据   db.集合名称.update({条件}, {$set:{更改的值}})

MongoDB数据库_第18张图片

所有满足条件的文档都进行更新db.集合名称.update({条件},{$set:{更改的值}},{multi:true})

未更新

MongoDB数据库_第19张图片

更新 

MongoDB数据库_第20张图片

更新文档进行数值递增db.集合名称.update({条件},{$inc:{更改的数值}})

未更新

MongoDB数据库_第21张图片

更新 

MongoDB数据库_第22张图片

五、MongoDB数据库备份

(一)备份命令

mongodump

选项:
                -h=hostname:port
                -u=
                -p=
                --authenticationDatabase=
                -d=
                -o=

语法:mongodump -d dbName -h hostName:port -u userName -p Password -o backupDirectory

MongoDB数据库_第23张图片

mongoexport

选项:
                -h=hostname:port
                -u=
                -p=
                --authenticationDatabase=
                -d=
                -o=

语法:mongoexport -d dbName -c tableName -h hostName:port -u userName -p Password -o backupDirectory/jsonFile.json

MongoDB数据库_第24张图片

(二)恢复命令

mongorestore

选项:
                -h=hostname:port
                -u=
                -p=
                --authenticationDatabase=
                -d=
                --drop 当目标数据库中存在同名集合则删除再恢复

语法:mongorestore -h hostName -u username -p password -d dbName -c tableName bakcupDirector/bsonFile

 

 MongoDB数据库_第25张图片

mongoimport

选项:
                -h=hostname:port
                -u=
                -p=
                --authenticationDatabase=
                -d=
                --drop 当目标数据库中存在同名集合则删除再恢复

语法:mongoimport -d dbName -c tableName -h hostName:port -u userName -p Password  backupDirectory/jsonFile.json

MongoDB数据库_第26张图片

 

MongoDB数据库_第27张图片

你可能感兴趣的:(mongodb,数据库)