IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> MongoDB -> 正文阅读

[大数据]MongoDB

1. MongoDB 的简介

??MongoDB 是一个开源、高性能的文档型数据库。它不像 MySQL 一样有表结构,而是采用类似于 JSON 的数据结构来存储。它是 NoSQL 数据库的一种,是最像关系型数据库的非关系型数据库。它主要应用于以下场景:

  1. 数据量大
  2. 读写都很频繁
  3. 对事务性要求不高的,价值较低的数据

2. MongoDB 与 MySQL 的对比

在这里插入图片描述

SQL术语/概念MongoDB术语/概念解释/说明
databasedatabase数据库
tablecollection数据库表/集合
rowdocument数据记录行/文档
columnfield数据字段/域
indexindex索引
table joins-表连接/MongoDB不支持
-嵌入式文档MongoDB通过嵌入式文档(JSON格式数据)来代替多表连接
primary keyprimary key主键/MongoDB自动将_id字段设为主键

3. docker 安装 MongoDB

  1. 拉取 MongoDB 镜像
docker pull mongo
  1. 创建 MongoDB 容器
docker run -di --name=mongodb -p 27017:27017 mongo --auth
  1. 进入 MongoDB 容器
docker exec -it mongodb mongo admin

注意:这个会直接进入到操作 MongoDB 的命令行

  1. 创建一个 admin 管理员账号
db.createUser({ user: 'root', pwd: 'root', roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] });
  1. 退出
exit
  1. 创建普通用户、密码和数据库

    1. 以 admin 用户身份进入 mongodb 容器
docker exec -it mongodb mongo admin

????2. 对 admin 进行身份认证(就是认证上面创建的管理员账号和密码)

db.auth("root","root");

????3. 创建用户、密码和数据库

db.createUser({ user: 'zy', pwd: 'zy123456', roles: [ { role: "readWrite", db: "app" } ] });

????4. 退出

exit
  1. 登录 app 数据库并添加数据

    1. 以 admin 用户身份进入 mongodb 容器
docker exec -it mongodb mongo admin

????2. 对 zy 用户进行身份认证

db.auth("zy","zy123456");

????3. 切换到 app 数据库

use app

????4. 添加数据

db.test.save({name:"zhangsan"});

????5. 退出

exit

注意:在阿里云开放 27017 端口

4. MongoDB Compass 图形化界面客户端

??下载地址:https://www.mongodb.com/try/download/compass
??下载的是一个压缩包,直接解压,执行 MongoDBCompass.exe 文件即可

在这里插入图片描述

5. 基本常用命令

(1) 要创建的集合的结构(相当于数据库的表结构)

??把下面集合的结构放到 MongoDB 中。数据库:articledb

字段名称字段含义字段类型备注
_id主键 idObjectId 或 StringMongo 的主键字段
article_id文章 idString-
content评论内容String-
user_id评论人 idString-
nickname评论人昵称String-
create_datetime评论的日期时间Date-
likenum点赞数int32-
replynum回复数int32-
state状态String0:不可见;1:可见
parent_id上级 idString如果为 0 表示文章的顶级评论

(2) 选择和创建数据库

  • 语法结构:use 数据库名称
  • 说明:如果数据库不存在,则创建这个数据库并选择使用这个数据库;如果数据库存在,则选择使用这个数据库
  • 例如:创建并使用 articledb 数据库:use articledb

(3) 查看所有数据库

  • 语法结构:show databases

注意:上面用 use 创建的数据库只存在内存中,查看所有数据库无法看到上面的刚创建的数据库。只有数据库创建了集合后并在集合中插入文档,才能持久化到磁盘中,才能被查到

(4) 查看当前正在使用的数据库

  • 语法结构:db

(5) 删除当前正在用的数据库

  • 语法:db.dropDatabase()

6. MongoDB 的安装

  1. 安装包的下载

??在官网下载 MongoDB 的压缩包:mongodb-src-r5.0.8.tar.gz。下载地址为:https://www.mongodb.com/try/download/community

在这里插入图片描述

  1. 上传压缩包到 Linux 系统的 /data 目录中
  2. 将压缩包解压到当前目录
tar -zxvf mongodb-linux-x86_64-4.0.28.tgz
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-06-01 15:18:23  更:2022-06-01 15:20:45 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 20:44:03-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码