当前位置: 首页 > news >正文

MongoDB学习【一】MongoDB简介和部署

MongoDB简介

MongoDB是一种开源的、面向文档的、分布式的NoSQL数据库系统,由C++语言编写而成。它的设计目标是为了适应现代Web应用和大数据处理场景的需求,提供高可用性、横向扩展能力和灵活的数据模型。

主要特点:

  1. 文档模型

    • MongoDB采用JSON-like(类似于JavaScript对象)的数据结构,称为文档,每个文档可以有多个字段和嵌套结构,使得数据模型更加灵活多样。
    • 文档存储在集合(Collections)中,集合无需预先定义严格的模式,允许每个文档拥有不同的结构。
  2. 分布式存储

    • MongoDB支持分布式文件存储,能够将数据分散存储在多台机器上,从而实现数据的水平扩展和负载均衡。
  3. 高可用性与容错性

    • 通过复制集(Replica Sets)提供自动故障转移和数据冗余,确保服务高可用性。
    • 支持分片(Sharding)技术来分散大量数据集以支持更大规模的并发读写。
  4. 查询和索引

    • 提供强大的查询语言,支持丰富的查询表达式和聚合管道(Aggregation Pipeline),可以对数据进行复杂操作和分析。
    • 可以为文档中的任意字段创建索引,包括文本索引、地理位置索引等多种索引类型,以优化查询性能。
  5. 事务支持

    • 自MongoDB 4.0版本起,提供了对多文档事务的支持,满足了需要严格一致性的应用场景。
  6. 性能表现

    • 由于其内存映射的存储引擎设计,MongoDB在读写速度上有良好的表现,尤其适合读密集型和实时数据处理场景。
  7. 编程友好

    • MongoDB支持多种编程语言的API接口,方便开发者在各种开发环境中快速集成和使用。

总之,MongoDB凭借其灵活性、可扩展性和高性能特性,在现代Web应用开发、物联网、移动应用、实时分析等领域得到了广泛应用。

MongDB部署

单节点Docker-Compose部署MongDB

version: '3.9'  # 使用 Docker Compose 的版本services:mongodb:image: mongo:5.0.10-focal  # 使用官方MongoDB镜像restart: always             # 容器退出时自动重启container_name: mongodb  # 自定义容器名称hostname: mongodb        # 可选,设置容器主机名environment:MONGO_INITDB_ROOT_USERNAME: root  # 初始化管理员用户名(可选)MONGO_INITDB_ROOT_PASSWORD: 123456  # 初始化管理员密码(可选)ports:- "27017:27017"  # 映射容器内部端口到宿主机端口volumes:- ./data/db:/data/db  # 挂载数据卷以持久化数据- ./configdb:/data/configdb  # 如果需要配置副本集或分片集群,则挂载配置数据库目录

在这里插入图片描述
在docker-compose.yml文件目录下,后台启动

docker-compose up -d

启动后,使用MongDB Compose可视化工具连接
在这里插入图片描述

相关文章:

MongoDB学习【一】MongoDB简介和部署

MongoDB简介 MongoDB是一种开源的、面向文档的、分布式的NoSQL数据库系统,由C语言编写而成。它的设计目标是为了适应现代Web应用和大数据处理场景的需求,提供高可用性、横向扩展能力和灵活的数据模型。 主要特点: 文档模型: Mon…...

html 引入vue Element ui 的方式

第一种&#xff1a;使用CDN的方式引入 <!--引入 element-ui 的样式&#xff0c;--> <link rel"stylesheet" href"https://unpkg.com/element-ui/lib/theme-chalk/index.css"> <!-- 必须先引入vue&#xff0c; 后使用element-ui --> <…...

曾经备受追捧的海景房,为何如今却没人要了?

独家首发 ------------ 全国多地的海景房如威海乳山、惠州大亚湾、北海银滩等多地的海景房如今大跌也难以卖出&#xff0c;与当初各地对海景房的追捧形成了鲜明对比&#xff0c;为何这些海景房变成如此样子&#xff0c;在于现实与宣传存在着很大的区别。 曾几何时面朝大海鸟语花…...

[docker] 镜像部分补充

[docker] 镜像部分补充 这里补充一下比较少用的&#xff0c;关于镜像的内容 检查镜像 ❯ docker images REPOSITORY TAG IMAGE ID CREATED SIZE <none> <none> ca61c1748170 2 hours ago 1.11GB node latest 5212d…...

Android(Kotlin) 委托(by) 封装 SharedPreferences

在 Kotlin 中&#xff0c;委托是一种通过将自身的某个功能交给另一个对象来实现代码重用的技术。通过委托&#xff0c;我们可以将某个属性或方法的实现委托给另一个对象&#xff0c;从而减少重复代码的编写。委托可以用于实现多重继承、代码复用和扩展现有类的功能。 Kotlin 中…...

2022年蓝桥杯省赛软件类C/C++B组----积木画

想借着这一个题回顾一下动态规划问题的基本解法&#xff0c;让解题方法清晰有条理&#xff0c;希望更多的人可以更轻松的理解动态规划&#xff01; 目录 【题目】 【本题解题思路】 【DP模版】 总体方针&#xff1a; 具体解题时的套路&#xff1a; 【题目】 【本题解题思…...

Python数据挖掘项目开发实战:使用朴素贝叶斯进行社会媒体挖掘

注意&#xff1a;本文下载的资源&#xff0c;与以下文章的思路有相同点&#xff0c;也有不同点&#xff0c;最终目标只是让读者从多维度去熟练掌握本知识点。 Python数据挖掘项目开发实战&#xff1a;使用朴素贝叶斯进行社会媒体挖掘 一、项目背景与目标 在社交媒体时代&…...

【DM8】ET SQL性能分析工具

通过统计SQL每个操作符的时间花费&#xff0c;从而定位到有性能问题的操作&#xff0c;指导用户去优化。 开启ET工具 INI参数&#xff1a; ENABLE_MONITOR1 MONITOR_SQL_EXEC1 查看参数 select * FROM v$dm_ini WHERE PARA_NAMEMONITOR_SQL_EXEC;SELECT * FROM v$dm_ini WH…...

001-谷粒商城-微服务剖析

1、架构图 还是很强的&#xff0c;该有的都有 2、微服务模块 SpringCloudAlibaba组件包括 SentinelNacosRocketMQSeata 搭配SpringCloudAlibaba组件 OpenFeignGateWayRibbn gateway使用了SpringWebFlux&#xff0c;前几天研究到&#xff0c;为什么springboot不直接使用Spri…...

vue实现前端打印效果

如图效果所示&#xff08;以下演示代码&#xff09; <template><div><el-button v-print"printObj" type"primary" plain click"handle">{{ text }}</el-button><div style"display: none"><div id…...

android wifi直连 wifip2pmanager

android wifi直连 wifip2pmanager&#xff1b;使用WiFi 直连&#xff0c;然后通过udp进行通讯。 Android WiFi 直连&#xff08;Wi-Fi Direct&#xff0c;也称为Wi-Fi P2P&#xff09;是一种让两台或多台设备通过Wi-Fi技术直接进行点对点连接的技术&#xff0c;无需借助传统的无…...

伸缩应用程序和执行滚动更新

&#x1f4d5;作者简介&#xff1a; 过去日记&#xff0c;致力于Java、GoLang,Rust等多种编程语言&#xff0c;热爱技术&#xff0c;喜欢游戏的博主。 &#x1f4d8;相关专栏Rust初阶教程、go语言基础系列、spring教程等&#xff0c;大家有兴趣的可以看一看 &#x1f4d9;Jav…...

解决WPS右键菜单冗余选项,去除WPS右键菜单选项

问题描述 安装WPS后&#xff0c;右键菜单会多出许多无用的选项&#xff0c;如何去除&#xff1f; 解决方法 按下WindowsS打开搜索栏&#xff0c;搜索配置工具打开 勾选所有的关闭和隐藏选项...

部署ELFK+zookeeper+kafka架构

目录 前言 一、环境部署 二、部署ELFK 1、ELFK ElasticSearch 集群部署 1.1 配置本地hosts文件 1.2 安装 elasticsearch-rpm 包并加载系统服务 1.3 修改 elasticsearch 主配置文件 1.4 创建数据存放路径并授权 1.5 启动elasticsearch是否成功开启 1.6 查看节点信息 …...

ActiveMQ 任意文件上传漏洞复现

一、使用弱口令登陆 ​ 访问 http://ip:8161/admin/ 进入admin登陆页面&#xff0c;使用弱口令登陆&#xff0c;账号密码皆为 admin&#xff0c;登陆成功后&#xff0c;headers中会出现验证信息 ​ 如&#xff1a; Authorization: Basic YWRtaW46YWRtaW4 # 二、利用PUT协议上…...

k8s实践总结

一、pod常用操作&#xff1a; 1、如何重启pod&#xff1f; 1.1 删除并重新创建Pod 这是最直接的方法。你可以通过kubectl命令行工具删除Pod&#xff0c;然后Kubernetes将基于其对应的Deployment、ReplicaSet或其他控制器自动重新创建它。 不建议并行删除全部pod&#xff0c…...

前端从零到一搭建脚手架并发布到npm

这里写自定义目录标题 为什么需要脚手架&#xff1f;前置-第三方工具的使用1. 创建demo并运行-4步新建文件夹 zyfcli&#xff0c;并初始化npm init -y配置入口文件 2.commander-命令行指令3. chalk-命令行美化工具4. inquirer-命令行交互工具5. figlet-艺术字6. ora-loading工具…...

使用 git 提交项目到 github

文章推荐&#xff1a;https://zhuanlan.zhihu.com/p/193140870 连接失败&#xff1a;https://zhuanlan.zhihu.com/p/521340971 分支出错&#xff1a;https://blog.csdn.net/gongdamrgao/article/details/115032436...

SRE 与传统 IT 运营有何不同?

软件开发和部署方法的发展要求组织管理和维护 IT 基础设施的方式发生转变。站点可靠性工程(SRE) 是一门将软件工程的各个方面融入 IT 运营的学科&#xff0c;处于这一变革的前沿。随着专业人士和组织都寻求适应&#xff0c;对 SRE 认证和培训计划的需求激增。本博客探讨了 SRE …...

html公众号页面实现点击按钮跳转到导航

实现效果&#xff1a; 点击导航自动跳转到&#xff1a; html页面代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>跳转导航</title><meta name"keywords" conten…...

从‘跟网’到‘构网’:手把手教你用MATLAB/Simulink搭建虚拟同步机(VSG)仿真模型(附模型下载)

从零构建虚拟同步机&#xff1a;MATLAB/Simulink实战指南 电力电子工程师们正面临一个新时代的挑战——如何让逆变器从被动"跟网"转变为主动"构网"。想象一下&#xff0c;当你第一次在示波器上看到自己搭建的虚拟同步机模型成功响应电网频率波动时&#xf…...

Element-UI Loading动画实战:如何优雅处理路由跳转与请求拦截(附自定义图标技巧)

Element-UI Loading动画深度优化&#xff1a;从路由拦截到视觉定制的完整方案 在Vue技术栈项目中&#xff0c;Element-UI的Loading服务是提升用户体验的关键组件之一。当页面需要等待数据加载或路由跳转时&#xff0c;一个流畅的加载动画能有效缓解用户的焦虑情绪。本文将深入探…...

7-Zip ZS:六种压缩算法如何彻底改变你的文件处理体验

7-Zip ZS&#xff1a;六种压缩算法如何彻底改变你的文件处理体验 【免费下载链接】7-Zip-zstd 7-Zip with support for Brotli, Fast-LZMA2, Lizard, LZ4, LZ5 and Zstandard 项目地址: https://gitcode.com/gh_mirrors/7z/7-Zip-zstd 在数字时代&#xff0c;文件压缩已…...

打卡信奥刷题(3016)用C++实现信奥题 P6334 [COCI 2007/2008 #1] SREDNJI

P6334 [COCI 2007/2008 #1] SREDNJI 题目描述 给定一个长度为 nnn 的 1∼n1\sim n1∼n 的排列 a1,…,ana_1,\dots ,a_na1​,…,an​&#xff0c;请你找出这个排列有多少个长度为奇数的子串的中位数为 BBB。 子串定义&#xff1a;把这个排列从开头&#xff08;可能无&#xff…...

ROS2机械臂实战:ros2_control、MoveIt2与move_group核心问题排查指南

1. ROS2机械臂控制栈的核心组件解析 搞ROS2机械臂开发的朋友应该都熟悉这个经典组合&#xff1a;ros2_control负责硬件接口&#xff0c;MoveIt2处理运动规划&#xff0c;move_group作为执行层。这三个组件就像机械臂控制的"三驾马车"&#xff0c;任何一个环节出问题都…...

Java MVC框架终极对决:Blade vs Spring Boot的完整对比指南

Java MVC框架终极对决&#xff1a;Blade vs Spring Boot的完整对比指南 【免费下载链接】blade :rocket: Lightning fast and elegant mvc framework for Java8 项目地址: https://gitcode.com/gh_mirrors/bl/blade 在Java Web开发领域&#xff0c;选择正确的MVC框架对项…...

Ultimaker Cura:开源3D打印切片工具从入门到精通指南

Ultimaker Cura&#xff1a;开源3D打印切片工具从入门到精通指南 【免费下载链接】Cura 3D printer / slicing GUI built on top of the Uranium framework 项目地址: https://gitcode.com/gh_mirrors/cu/Cura Ultimaker Cura作为一款免费开源的3D打印切片软件&#xff…...

避坑指南:运行YooAsset 2.3.9官方Demo时,你可能会遇到的Sprite白块和退出报错

避坑指南&#xff1a;YooAsset 2.3.9官方Demo运行时的Sprite白块与退出报错深度解析 当Unity开发者初次接触YooAsset资源管理系统时&#xff0c;官方Demo往往是快速上手的最佳途径。然而在YooAsset 2.3.9版本的示例项目中&#xff0c;不少开发者反馈遇到了两个典型问题&#x…...

3个核心突破:LangChain的大语言模型应用开发指南

3个核心突破&#xff1a;LangChain的大语言模型应用开发指南 【免费下载链接】langchain LangChain是一个由大型语言模型 (LLM) 驱动的应用程序开发框架。。源项目地址&#xff1a;https://github.com/langchain-ai/langchain 项目地址: https://gitcode.com/GitHub_Trending…...

YOLOv8 Detect Head 源码拆解:从张量变形到边界框解码,一步步带你理解Anchor-Free预测

YOLOv8 Detect Head 深度解析&#xff1a;从特征图到预测框的完整实现路径 在计算机视觉领域&#xff0c;目标检测一直是核心任务之一。YOLOv8作为当前最先进的实时检测器&#xff0c;其Detect Head模块的设计尤为精妙。本文将带您深入探索这一模块的内部工作机制&#xff0c;从…...