MongoDB是一个免费的、开源的、跨平台分布式面向文档存储的数据库,由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。

MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。

官网:https://www.mongodb.com/

适用场景

  • 网站实时数据处理。它非常适合实时的插入、更新与查询,并具备网站实时数据存储所需的复制及高度伸缩性。
  • 缓存。由于性能很高,它适合作为信息基础设施的缓存层。在系统重启之后,由它搭建的持久化缓存层可以避免下层的数据源过载。
  • 高伸缩性高可用的场景。MongoDB使用分片水平缩放,并且可以运行在多个服务器上,平衡负载或复制数据,以便在硬件出现故障时保持系统正常运行。
  • 海量数据。

不适用的场景

  • 要求高度事务性的系统。
  • 传统的商业智能应用。
  • 复杂的跨文档(表)级联查询。

镜像说明

官方镜像地址:https://hub.docker.com/_/mongo

主要环境变量说明

  • MONGO_INITDB_ROOT_USERNAME:管理员账号,例如:root
  • MONGO_INITDB_ROOT_PASSWORD: 管理员密码,例如:12345

运行MongoDB容器镜像

Powershell:

docker run -p 27017:27017 --name myMongodb `

-d mongo

使用主机目录保存数据库文件

PowerShell:

docker run -p 27017:27017 --name myMongodb `

-v d:/temp/data/mongodb:/data/db `

-d mongo

执行之后如下图所示:

*注意:Windows和OS X上的Docker默认设置使用VirtualBox VM来托管Docker守护程序。但是,VirtualBox用于在主机系统和Docker容器之间共享文件夹的机制与MongoDB使用的内存映射文件不兼容(请参阅vbox bug,docs.mongodb.org和相关的jira.mongodb.org错误),*这意味着无法运行映射到主机的数据目录的MongoDB容器。

管理Mongodb

使用nosqlbooster管理MongoDB

nosqlbooster以shell为中心的跨平台GUI的MongoDB管理工具,它提供全面的服务器监控工具,流畅的查询构建器,SQL查询支持,ES2017语法支持和真正的智能感知体验,是非常值得推荐的一个MongoDB管理工具。

官方网址:https://nosqlbooster.com

非常值得推荐的是,NoSQLBooster支持我们使用SQL查询语法来执行查询(MongoDB本身不支持,是由NoSQLBooster进行了验证和转换处理)。

例如以下MongoDB查询语法:

db.employees.aggregate([{

​ KaTeX parse error: Expected '}', got 'EOF' at end of input: …roup: { _id: "department", total: { sum:"sum: "sum:"salary" }}

}])

可以使用我们熟悉的SQL查询语法来查询:

mb.runSQLQuery(`

​ SELECT department, SUM(salary) AS total FROM employees GROUP BY department

`)

这里附上一个MySql和MongoDB的语法对比示例:

同时,NoSQLBooster还提供丰富的性能监视和分析工具,如Visual Explain Plan:

使用MongoDB Com****pass

MongoDB Compass是MongoDB的可视化工具,适用于Linux,Mac或Windows,能够非常直观的查看和管理数据,并且可以轻松识别可能导致性能问题的瓶颈或慢查询,这意味着我们可以更快地解决问题。

参考链接:https://www.cnblogs.com/codelove/p/10312692.html

Docker安装部署MongoDB及MySql和MongoDB的语法对比相关推荐

  1. docker 安装部署多个MySQL

    文章目录 环境配置 安装MySQL 修改MySQL加密方式 安装第二个MySQL 环境配置 本地操作系统:Win10 虚拟机的操作系统:CentOS Stream 8 已安装docker,可以参考详细 ...

  2. Linux使用Docker安装Nacos并配置MySQL数据源,将Springboot的配置文件部署到Nacos

    Linux使用Docker安装Nacos并配置MySQL数据源,将Springboot的配置文件部署到Nacos 前言 一.Docker中安装配置Nacos 安装Docker 拉取Nacos镜像 启动 ...

  3. saiku docker配置部署_【安装教程】01 Gitea Docker 安装部署 - 【SkywenCode】技术团队基...

    在2016年-2019年,SkywenCode技术团队使用码云Gitee 作为线上代码库管理,基于敏捷开发和持续构建的思路,我们整体基础建设以Drone / Jenkins + Docker 的方式构 ...

  4. Docker安装部署及使用

    Docker安装部署及使用 实验内容 安装Docker. 创建自己的第一个容器 容器使用,查看.启动.进入.停止.删除对应容器. 容器安装MySQL. Experimental environment ...

  5. ITOP-1 Docker安装部署itop

    ITOP-1 Docker安装部署itop 一.Docker安装部署 1.下载docker源 2.yum安装docker,并运行 3.配置docker镜像加速地址 二.ITOP部署 1.登录[dock ...

  6. Docker安装部署RabbitMQ

    https://blog.csdn.net/super_rd/article/details/70792746  http://muxiulin.cn/archives/category/rabbit ...

  7. 使用docker安装部署Spark集群来训练CNN(含Python实例)

    使用docker安装部署Spark集群来训练CNN(含Python实例) 本博客仅为作者记录笔记之用,不免有很多细节不对之处. 还望各位看官能够见谅,欢迎批评指正. 博客虽水,然亦博主之苦劳也. 如需 ...

  8. Docker实战:Docker安装部署RabbitMQ

    使用Docker安装部署RabbitMQ 1.docker search rabbitmq:management 2.docker pull rabbitmq:management 注意:如果dock ...

  9. 服务器上使用docker安装部署禅道zentao

    服务器上使用docker安装部署禅道zentao 目的:在服务器上安装docker禅道容器 一.查看服务器是否有禅道容器 docker ps -a 可以查看到所有容器. 二.从docker库下载禅道镜 ...

  10. 采用docker安装部署Nginx

    四.采用docker安装部署Nginx 在主机192.168.1.138下,安装nginx,docker 的安装命令如下: docker run \ -d \ -p 8080:80 \ --name ...

最新文章

  1. Android studio安装与调试
  2. Gradle Sync: Wait for the other thread to finish acquiring the distribution
  3. day29 socket编程TCP和UDP
  4. Flume-NG + HDFS + HIVE 日志收集分析 | EyeLu技术Blog
  5. Java面向对象之成员变量的初始值、object类与对象
  6. linux resin 自动启动不了,linux下开机启动nginx+resin
  7. NOIp 2014 #3 寻找道路 Label:图论
  8. SQL Server 高可用性(六)日志传送
  9. 输入n个整数,输出其中最小的k个
  10. 使用markdown写大论文
  11. ADMM算法在神经网络模型剪枝方面的应用
  12. 3D游戏引擎技术剖析
  13. 2018-11-3-如何使用-Telegram
  14. 梶田秀司 仿人机器人学习笔记(一)书本第一章
  15. hp laserjet1010 win7 64打印慢问题
  16. 有了LSTM网络,我再也不怕老师让我写作文了
  17. 灵悟礼品网上专卖店——客户端的登录功能开发
  18. 基于stm32蓝牙智能小车设计
  19. 基于pion生态的SFU实时音视频发布服务(一)
  20. C# -> (Cshape)笔记

热门文章

  1. c# 微服务学习_微服务:学习几个容易混淆的URL注解
  2. c语言省2全民,C语言省试题(2-数据类型)101016.ppt
  3. gulp修改服务器端口,2.用gulp建立一个服务器
  4. python3精要(22)-函数(3)
  5. NLP面试时,项目经历要怎么讲?
  6. 【机器学习】决策树代码练习
  7. 深度学习笔记 第四门课 卷积神经网络 第二周 深度卷积网络:实例探究
  8. 在目标检测被“遗忘”领域进行探索后,百度开源最新力作UMOP:即插即用、无痛涨点
  9. Batchsize不够大,如何发挥BN性能?探讨神经网络在小Batch下的训练方法
  10. 关于知识蒸馏,你想知道的都在这里!