初识MongoDB及安装

举报
哥的时代 发表于 2023/12/26 23:25:28 2023/12/26
【摘要】 前言传统的数据库如MySQL在应对三高场景时显得力不从心三高:High performance 对数据库高并发读写的需求High Storage 对海量数据的高效率存储和 访问的需求High Scalability && High Availability 对数据库的高可扩展行和高可用性的需求MongoDB应用场景社交场景:使用MongoDB存储用户信息,以及用户发表的朋友圈信息,通过地理...

前言

传统的数据库如MySQL在应对三高场景时显得力不从心

三高:
High performance 对数据库高并发读写的需求
High Storage 对海量数据的高效率存储和 访问的需求
High Scalability && High Availability 对数据库的高可扩展行和高可用性的需求

MongoDB应用场景

  • 社交场景:使用MongoDB存储用户信息,以及用户发表的朋友圈信息,通过地理位置索引实现附近的人等功能
  • 游戏场景:使用MongoDB存储游戏用户信息,用户的装备等直接以内嵌文档形式存储,方便查询、高效率存储与访问
  • 物流场景:使用MongoDB存储订单信息,订单状态在运输过程中会不断更新,以MongoDB内勤数组的形式来存储,一次性查询就能将订单的所有变更读取处理
  • 物联网场景:使用MongoDB存储所有接入智能设备信息,以及设备汇报的日志信息,并对这些信息进行多维度分析
  • 视频直播:使用MongoDB存储用户信息、点赞互动信息等

这些场景中,数据操作方面的共同特点是:数据量大、读写操作频繁、价值较低的数据,对事务性要求不高

一、MongoDB核心概念

1、库

==mongodb中的库就类似于传统关系型数据库中库的概念,用来通过不同库隔离不同应用数据==。mongodb中可以建立多个数据库。每一个库都有自己的集合和权限,不同的数据库也放置在不同的文件中。默认的数据库为"test",数据库存储在启动指定的data目录中。

2、集合

==集合就是MongoDB文档组,类似于RDBMS(关系数据库管理系统: RelationalDatabase Management System)中的表的概念==。

集合存在于数据库中,一个库中可以创建多个集合。每个集合没有固定的结构,这意味着你在对集合可以插入不同格式和类型的数据,但通常情况下我们插入集合的数据都会有一定的关联性。

3、文档

文档集合中一条条记录,是一组键值(key-value)对(即BSON)。MongoDB的文档不需要设置相同的字段,并且相同的字段不需要相同的数据类型,这与关系型数据库有很大的区别,也是MongoDB非常突出的特点。

一个简单的文档例子如下:

{ "site" : " www.gedeshidai.com" , "name":"哥的时代"}

4、关系总结

MySQL MongoDB
数据库(DataBase) 数据库(DataBase)
数据表(Table) 数据集合(Collection)
数据行(Row) 数据文档(Document)
列/字段(Column) 字段(Field)
索引(Index) 索引(Index)

二、MongoDB的安装

博主这里推荐使用Docker进行安装MongoDB,既方便,又实用
使用Docker安装MongoDB的第一步是先进行拉取镜像:

sudo docker pull mongodb/mongodb-community-server

image.png

查看镜像情况

sudo docker images

image.png

然后创建容器

sudo docker run --name mongo -d mongodb/mongodb-community-server:latest

image.png

查看容器运行情况

sudo docker ps

image.png

连接到 MongoDB 部署mongosh

sudo docker exec -it mongo mongosh

image.png

查看数据库命令

show dbs

image.png


总结

以上就是MongoDB的基础知识及安装教程,希望对你有所帮助。
积跬步以至千里,积怠惰以至深渊。时代在这跟着你一起努力哦!

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。