MongoDB的介绍

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
云原生数据库 PolarDB MySQL 版,通用型 2核8GB 50GB
简介: MongoDB的介绍

关系型和非关系型数据库


关系型数据库(表就是关系,或者说表与表之间存在关系)。


  • 所有的关系型数据库都需要通过sql语言来操作
  • 所有的关系型数据库在操作之前都需要设计表结构
  • 而且数据表还支持约束
  • 唯一的
  • 主键
  • 默认值
  • 非空

非关系型数据库


  • 非关系型数据库非常的灵活
  • 有的关系型数据库就是key-value对儿
  • 但MongDB是长得最像关系型数据库的非关系型数据库
  • 数据库 -》 数据库
  • 数据表 -》 集合(数组)
  • 表记录 -》文档对象

一个数据库中可以有多个数据库,一个数据库中可以有多个集合(数组),一个集合中可以有多个文档(表记录)


{
    qq:{
       user:[
           {},{},{}...
       ]
    }
}


  • 也就是说你可以任意的往里面存数据,没有结构性这么一说

安装


  • 下载
  • 安装

npm i mongoose


  • 配置环境变量
  • 最后输入mongod --version测试是否安装成功

启动和关闭数据库


启动:


# mongodb 默认使用执行mongod 命令所处盼复根目录下的/data/db作为自己的数据存储目录
# 所以在第一次执行该命令之前先自己手动新建一个 /data/db
mongod


如果想要修改默认的数据存储目录,可以:


mongod --dbpath = 数据存储目录路径


停止:


在开启服务的控制台,直接Ctrl+C;
或者直接关闭开启服务的控制台。


连接数据库


连接:


# 该命令默认连接本机的 MongoDB 服务
mongo


退出:


# 在连接状态输入 exit 退出连接
exit


基本命令


  • show dbs
  • 查看数据库列表(数据库中的所有数据库)
  • db
  • 查看当前连接的数据库
  • use 数据库名称
  • 切换到指定的数据库,(如果没有会新建)
  • show collections
  • 查看当前目录下的所有数据表
  • db.表名.find()
  • 查看表中的详细信息

总结与思考


  1. 数据模型:MongoDB 数据库采用文档存储方式,每个文档都是一个键值对的集合,其中键是字符串,值可以是多种类型的数据,例如字符串、数值、数组、嵌套文档等。这种数据模型比传统的关系型数据库更灵活,可以更好地适应非结构化的数据。
  2. 扩展性:MongoDB 支持水平扩展,可以通过添加更多的节点来扩展数据库的处理能力。在分布式系统中,这是一个非常重要的特性,可以保证系统的高可用性和高性能。
  3. 查询语言:MongoDB 支持类似 SQL 的查询语言,称为 MongoDB 查询语言(MQL),可以进行复杂的查询操作。同时,MongoDB 还支持 MapReduce 和聚合框架,这些功能可以用来进行更复杂的数据处理和分析。
  4. 高可用性:MongoDB 支持副本集(Replica Set)功能,可以保证数据的高可用性。副本集是多个 MongoDB 实例的集合,其中一个实例作为主节点,其他实例作为副本节点,主节点负责处理所有的写操作,副本节点则用来复制主节点的数据。当主节点故障时,副本节点可以自动选举出一个新的主节点,保证系统的高可用性。
  5. 缺点:MongoDB 的缺点之一是数据一致性问题,因为副本集需要时间来同步数据,所以在某些情况下可能会导致数据不一致。另外,MongoDB 也不适合用于需要多表联合查询的场景,因为 MongoDB 的数据模型不支持多表联合查询。

总的来说,MongoDB 是一款非常适合处理非结构化数据的 NoSQL 数据库,它具有高扩展性、高可用性和灵活的数据模型等优点,但也存在一些缺点需要注意。在选择数据库时,应该根据实际的业务需求和数据类型来进行选择。

相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
目录
相关文章
|
前端开发 算法 JavaScript
从基础到进阶:实现div控件的拖拽和缩放功能
从基础到进阶:实现div控件的拖拽和缩放功能
163 0
|
数据采集 存储 分布式计算
《离线和实时大数据开发实战》(二)大数据平台架构 & 技术概览2
《离线和实时大数据开发实战》(二)大数据平台架构 & 技术概览2
1056 0
《离线和实时大数据开发实战》(二)大数据平台架构 & 技术概览2
|
10月前
|
JSON 编译器 网络安全
open policy agent 语法总结
open policy agent 语法总结
110 1
|
11月前
|
消息中间件 存储 负载均衡
Redis使用ZSET实现消息队列使用总结二
Redis使用ZSET实现消息队列使用总结二
128 0
|
机器学习/深度学习 存储 程序员
C语言编辑器
C语言编辑器
751 0
|
12月前
|
小程序 定位技术
uniapp微信小程序地图全屏显示配送范围
uniapp微信小程序地图全屏显示配送范围
190 1
|
前端开发 JavaScript Java
计算机Java项目|基于springboot的课程作业管理系统
计算机Java项目|基于springboot的课程作业管理系统
154 0
|
Android开发
[Android 四大组件] --- Activity
[Android 四大组件] --- Activity
116 1
|
消息中间件 缓存 算法
聊聊 Kafka:Producer 源码解析
聊聊 Kafka:Producer 源码解析
398 0
|
Kubernetes Cloud Native 安全
阿里云携手开放原子开源基金会倡议发起云原生工作委员会,两大开源项目达成捐赠意向
阿里云携手开放原子开源基金会倡议发起云原生工作委员会,两大开源项目达成捐赠意向

热门文章

最新文章