MongoDB基础

本节主要学习了MongoDB的概述,应用场景,安装方式,目录结构,默认数据库,数据库操作,MongoDB数据备份


目录

一、概述

1、相关概念

2、特性

二、应用场景

三、安装

1、编译安装

2、rpm安装

3、启动数据库

四、目录结构

[1、rpm -ql mongodb-org-server](#1、rpm -ql mongodb-org-server)

[2、rpm -ql mongodb-org-shell](#2、rpm -ql mongodb-org-shell)

[3、rpm -ql mongodb-org-tools](#3、rpm -ql mongodb-org-tools)

五、默认数据库

六、数据操作

1、库操作

2、文档操作

查看集合

创建集合

删除集合

插入数据(文档)

查询数据

删除数据

更新数据

更新文档进行数值递增

七、MongoDB数据库备份

1、备份命令

1.mongodump

①选项

②语法

2.mongoexport

①选项

②语法

2、回复命令

1.mongorestore

①选项

②语法

2.mongoimport

①选项

②语法


一、概述

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

1、相关概念

2、特性

二、应用场景

游戏 物流 社交 物联网 视频直播 大数据

三、安装

1、编译安装

2、rpm安装

[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

3、启动数据库

systemctl start mongod.service

四、目录结构

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 | 恢复数据库 |

五、默认数据库

admin:

从权限的角度来看,这是"root"数据库。要是将一个用户添加到这个数据库,这个用户自动继承所有数据库的权限。

一些特定的服务器端命令也只能从这个数据库运行,比如列出所有的数据库或者关闭服务器。

local:

这个数据库永远不会被复制,可以用来存储限于本地单台服务器的任意集合。

config:

当Mongo用于分片设置时,config数据库在内部使用,用于保存分片的相关信息。

六、数据操作

1、库操作

|-----------|--------------------------------------------------------------------|
| 查看数据库 | show databases show dbs |
| 显示当前所在数据库 | db |
| 切换数据库 | use dbName |
| 数据库创建 | 隐式创建 不用主动创建,使用use newDB,会自动创建不存在的数据库 只有在库中创建集合后才会保存,并使用show dbs查看到 |
| 删除数据库 | db.dropdatabase() |

查看

切换数据库

删除数据库

2、文档操作

查看集合

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)}})

创建

更新

七、MongoDB数据库备份

1、备份命令

1.mongodump

①选项

-h=hostname:port

-u=<username>

-p=<password>

--authenticationDatabase=<dbname>

-d=<database>

-o=<path>

②语法

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

2.mongoexport

①选项

-h=hostname:port

-u=<username>

-p=<password>

--authenticationDatabase=<dbname>

-d=<database>

-o=<path>

②语法

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

2、恢复命令

1.mongorestore

①选项

-h=hostname:port

-u=<username>

-p=<password>

--authenticationDatabase=<dbname>

-d=<database>

--drop 当目标数据库中存在同名集合则删除再恢复

②语法

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

2.mongoimport

①选项

-h=hostname:port

-u=<username>

-p=<password>

--authenticationDatabase=<dbname>

-d=<database>

--drop 当目标数据库中存在同名集合则删除再恢复

②语法

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

查看生成文件

删除

恢复


相关推荐
Ai 编码助手8 分钟前
MySQL中distinct与group by之间的性能进行比较
数据库·mysql
陈燚_重生之又为程序员24 分钟前
基于梧桐数据库的实时数据分析解决方案
数据库·数据挖掘·数据分析
caridle25 分钟前
教程:使用 InterBase Express 访问数据库(五):TIBTransaction
java·数据库·express
白云如幻27 分钟前
MySQL排序查询
数据库·mysql
萧鼎28 分钟前
Python并发编程库:Asyncio的异步编程实战
开发语言·数据库·python·异步
^velpro^31 分钟前
数据库连接池的创建
java·开发语言·数据库
荒川之神36 分钟前
ORACLE _11G_R2_ASM 常用命令
数据库·oracle
IT培训中心-竺老师41 分钟前
Oracle 23AI创建示例库
数据库·oracle
小白学大数据1 小时前
JavaScript重定向对网络爬虫的影响及处理
开发语言·javascript·数据库·爬虫
time never ceases1 小时前
使用docker方式进行Oracle数据库的物理迁移(helowin/oracle_11g)
数据库·docker·oracle