• MongoDB 解析:灵活文档数据库与 Docker Compose 部署


    MongoDB 是一款开源、高性能的 NoSQL 数据库,以其无模式的文档存储格式(BSON)而著称,广泛应用于众多开源项目,包括但不限于 Yapi 等。它在大规模数据存储和实时数据处理方面表现出色,因此备受青睐。在本文中,我们将深入探讨 MongoDB 的特性,并详细阐述如何使用 Docker Compose 轻松部署 MongoDB 数据库,为你提供全方位的指导。

    dc-mongodb.jpg

    MongoDB 简介

    MongoDB 是一个开源、高性能、面向文档的 NoSQL 数据库,具有以下特点:

    • 文档存储: MongoDB 使用 BSON(二进制 JSON)格式来存储数据,每个文档可以具有不同的字段,这使得 MongoDB 非常适合存储半结构化和多变的数据。

    • 横向可扩展: MongoDB 支持横向扩展,可以轻松地扩展以处理大规模数据和高负载。你可以添加更多的节点来增加容量。

    • 复制和高可用性: MongoDB 支持数据复制,允许你创建多个副本集来提供高可用性和数据冗余。如果一个节点失败,系统可以自动切换到另一个可用节点。

    • 强大的查询语言: MongoDB 提供丰富的查询语言,支持复杂的查询操作,包括聚合、分组和地理空间查询等。

    • 地理空间支持: MongoDB 支持地理空间索引和查询,适用于地理信息系统(GIS)和地理定位应用。

    • 社区支持和工具生态系统: MongoDB 拥有庞大的社区,有许多工具和驱动程序可用于各种编程语言,包括 Python、Java、Node.js 等。

    使用 Docker Compose 部署 MongoDB

    要快速部署 MongoDB 数据库,我们可以使用 Docker Compose。以下是部署 MongoDB 的步骤:

    第一步:创建docker-compose.yml文件

    创建一个名为mongo的文件夹作为部署目录,在mongo文件夹下创建一个名为 docker-compose.yml 的文件,并添加以下内容:

    version: '3.3'
    
    services:
      mongodb:
        image: mongo:latest
        restart: always
        container_name: mongodb
        ports:
          - "27017:27017"
        volumes:
          - ./data/db:/data/db
        environment:
          MONGO_INITDB_ROOT_USERNAME: root
          MONGO_INITDB_ROOT_PASSWORD: xj2023
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    第二步:启动 MongoDB 容器

    在docker-compose.yml的同级目录下执行以下命令启动容器:

    docker-compose up -d 
    
    • 1
    第三步:连接到 MongoDB

    使用 MongoDB 客户端工具,如 mongo 命令行工具或 MongoDB Compass,连接到 MongoDB 数据库。使用上述定义的用户名和密码进行身份验证。我们此处使用的是navicat 连接。

    QQ20230926221145.png

    _20230926220752.jpg

    第四步:开始使用 MongoDB

    现在,你可以开始在 MongoDB 数据库中创建数据库、集合和文档,执行查询和更新操作。

    _20230926221743.jpg

    结语

    MongoDB 是一款强大的 NoSQL 数据库,具备文档存储、横向扩展和高可用性等出色特性。通过 Docker Compose,你可以轻松部署 MongoDB 数据库,为应用程序提供可靠的数据存储支持。希望本文帮助你更好地理解 MongoDB,并能够成功搭建自己的 MongoDB 数据库环境。

  • 相关阅读:
    vue面试题7
    CF803B Distances to Zero(模拟+思维)
    第 5 章 TF坐标变换(自学二刷笔记)
    配置与管理Samba服务器
    工厂管理软件中的计划排产是什么
    Flink部署——Debugging(开发实用,建议收藏)
    Java高级编程----集合
    一个合格的vue工程师必会的20道面试题
    解析外贸开发信的结构?营销邮件书写技巧?
    leetcode 剑指 Offer 46. 把数字翻译成字符串
  • 原文地址:https://blog.csdn.net/weixin_44002151/article/details/133325342