MongoDB简介
数据库,顾名思义,是保存数据的地方。中华文化博大精深,短短3个文字,就定义了一个强大的数据管理和读写方式出来。数据库,管理的对象是数据。称为库,表示数据在库中有组织,相互之间有微妙的关系。数据怎样进入库,库的容量大小有多少,库中的数据怎样分区保存,采用怎样的形式来保存,怎样快速的定位到数据库中的数据,当库满的时候,怎样实现扩充。与普通的仓库中的货物不同,货物可以损失可以再生产或采购。当数据造成损失时,应该怎样减少损失,或者恢复数据。同时,访问数据库,哪些系统和操作人员才可以访问数据库,怎样防止数据丢失,保证数据安全,都是数据库需要考虑的问题。
以oracle为代表的关系型数据库,曾经是各种数据库形式中最主流的数据库形式。数据库设计按照固定的模式,表示数据之间的关联关系。这种关系型数据库,对数据进行了有效的分类组织并减少数据冗余。 通过建立索引,主外键关联等措施,提高了数据读取的效率。定义结构化查询语句(sql)来查询数据,实现了数据的方便读写。数据库内部的解析优化器,为大量数据读取提供了性能保障。
自mongodb 1.0版本发布以来,其文档的简单便捷性,结构上的灵活性,数据读取的高效性逐渐受到开发人员的广泛关注和欢迎。带动了文档型数据库,内存数据库等不需要使用sql查询的数据库(NoSql数据库)的发展。近几年,各种类型的数据库搭配使用,为系统设计提供了更多的解决方案。而NoSql的概念从不需要sql语句查询,也变成了不只是sql查询语句(not only sql)。
自本文开始,通过对官网文档的翻译整理和时间,结合多年开发经验,对Mongodb进行深入浅出的介绍,并准备了一些列mongodb的文章和使用技巧。欢迎关注订阅。
文档型数据库
mongodb是文档型数据库,数据库中的一条记录,就是一个文档。文档是由键值对构成的结构化数据。类似JSON数据结构。文档中的数据,也可以是数组,日期,或其他文档。
{name: "sue", //键值对,字段-name, 值:"sue",字符类型age: 26, //键值对,字段-age, 值:26, 数字类型status: "A", //键值对,字段-status, 值:"A", 字符类型groups: ['news', "sports"], //键值对,字段-groups, 值:['news', "sports"], 数组location: { //键值对,字段-groups, 值:{city: "New York"}, 对象city: "New York" //键值对,字段-city, 值:'New York', 字符类型}
}
多个文档放在一起,构成了一个文档集合。集合与关系型数据库中的表类似,但格式上比关系型数据库灵活,并不需要完全统一的格式和数据类型。
多个集合构成了一个数据库。而数据库包含在运行在虚拟机或物理机上的mongodb运行实例中。

在mongo数据库中,使用文档型数据库,为mongodb带来了三点优势
- 文档中的数据类型,能够映射到大多数开发语言支持的原生数据类型
- 支持嵌入式对象和数组类型,减少数据关联查询带来的开销
- 动态数据结构,支持更频繁的数据结构变化
mongodb的功能与优势
存储和查询数据,是数据库的基本功能,mongodb既然是数据库,就一定擅长类似数据增删改查这样基本的数据库操作。mongodb虽然支持动态数据结构,但开发人员也可以为集合定义统一数据模型,包含字段类型和字段上的验证和限制等。
此外,mongodb还有下面一些优势
-
- mongodb支持数据的聚合操作,为数据的查询,转换,分类排序提供了流水线式的工作方式。
- 提供安全的数据存储和访问方式,具备数据加密,完备的用户登陆验证管理功能
- 易于部署安装和拓展,支持横向添加多节点支持和纵向数据分片。
- 支持多种数据存储引擎,包括WireTiger存储引擎和In-Memory存储引擎。
- 高性能,内嵌数据模型,减少IO开销。支持索引查询,并支持为嵌套对象和数组建立索引。
- 高可用,支持故障自动切换主节点,具备数据冗余备份功能。
相关文章:
MongoDB简介
数据库,顾名思义,是保存数据的地方。中华文化博大精深,短短3个文字,就定义了一个强大的数据管理和读写方式出来。数据库,管理的对象是数据。称为库,表示数据在库中有组织,相互之间有微妙的关系。…...
尚硅谷hadoop3.x课程部分资料文件下载,jdk,hadoopjar包
jdk文件百度云下载: 链接:https://pan.baidu.com/s/1MCiGRzOZY8rAFpRJwA3tdw 提取码:kphl hadoop的jar包: 最新版官网链接: Index of /dist/hadoop/core/stable (apache.org) 百度云下载,3.3.3版…...
vue el-radio-group多选封装及使用
基于Element UI库的Vue组件,实现了一个单选/多选框组合的效果,可以根据 type 属性的不同值来切换单选框(默认)和按钮式单选框/多选框。 创建组件index.vue (src/common-ui/radioGroup/index.vue) <template><el-radio-g…...
Kaggle-水果图像分类银奖项目 pytorch Densenet GoogleNet ResNet101 VGG19
一些原理文章 卷积神经网络基础(卷积,池化,激活,全连接) - 知乎 PyTorch 入门与实践(六)卷积神经网络进阶(DenseNet)_pytorch conv1x1_Skr.B的博客-CSDN博客GoogLeNet网…...
TPLink-Wr702N 通过OpenWrt系统打造打印服务器实现无线打印
最近淘到了一个TPLink-Wr702N路由器,而且里面已经刷机为OpenWrt系统了,刚好家里有一台老的USB打印机,就想这通过路由器将打印机改为无线打印机,一番折腾后,居然成功了,这里记录下实现过程,为后面…...
[UGUI]实现从一个道具栏拖拽一个UI道具到另一个道具栏
在Unity游戏开发中,实现UI道具的拖拽功能是一项常见的需求。本文将详细介绍如何使用Unity的UGUI系统和事件系统,实现从一个道具栏拖拽一个UI道具到另一个道具栏的功能。 一、准备工作 首先,你需要在Unity中创建两个道具栏和一些UI道具。道具…...
微服务--08--Seata XA模式 AT模式
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 分布式事务Seata 1.XA模式1.1.两阶段提交1.2.Seata的XA模型1.3.优缺点 AT模式2.1.Seata的AT模型2.2.流程梳理2.3.AT与XA的区别 分布式事务 > 事务–01—CAP理论…...
Doris 数据导入一:Broker Load 方式
1.Doris导入数据的方式总结 导入(Load)功能就是将用户的原始数据导入到 Doris 中。导入成功后,用户即可通过 Mysql 客户端查询数据。为适配不同的数据导入需求,Doris 系统提供了6种不同的导入方式。每种导入方式支持不同的数据源,存在不同的使用方式(异步,同步)。 所有…...
docker踩坑记录:docker容器创建doris容器间无法通讯问题
背景: 开发大数据平台,使用doris作为数据仓储,使用docker做集群部署,先进行开发环境搭建,环境为BE1;FE1,原来使用官方例子,但是官方例子是创建了一个bridge使用172.20.80.0/24通讯,…...
springboot+java校园自助洗衣机预约系统的分析与设计ssm+jsp
洗衣服是每个人都必须做的事情,而洗衣机更成为了人们常见的电器,但是单个洗衣机价格不菲,如果每人都买,就会造成资源的冗余。所有就出现了公用设备,随着时代的发展,很多公用都开始向着无人看守的自助模式经…...
TCP简介及特性
1. TCP协议简介 TCP是Transmission Control Protocol的简称,中文名是传输控制协议。它是一种面向连接的、可靠的、基于IP的传输层协议。两个TCP应用之间在传输数据的之前必须建立一个TCP连接,TCP采用数据流的形式在网络中传输数据。TCP为了保证报文传输的…...
ElasticSearch 排障常用方法
文章目录 1,集群状态,节点在线情况,集群参数配置2,查看异常索引、分片,分析异常原因,手动分配分片 1,集群状态,节点在线情况,集群参数配置 GET _cluster/health?pretty…...
【SA8295P 源码分析 (四)】136 - QNX 如何抓取系统 log 方法 之 网络部分日志抓取方法
【SA8295P 源码分析】136 - QNX 如何抓取系统 log 方法 之 网络部分日志抓取方法 一、slog2info二、获取当前系统网络信息三、tracelogger四、qscan.sh : 用于收集 qnx 文件系统 权限、checksums 等信息系列文章汇总见:《【SA8295P 源码分析 (四)】网络模块 文章链接汇总 - 持…...
传统算法:使用Pygame实现SVM(支持向量机)算法
使用 Pygame 演示了支持向量机(SVM)在二维数据上的分类过程。以下是代码的主要步骤和原理解释: 1、初始化和基本设置 Pygame 初始化: 通过 pygame.init() 初始化 Pygame。 定义颜色和屏幕大小: 定义了一些颜色常量(WHITE, BLACK, RED, BLUE)和屏幕的宽度和高度。 创建…...
cookie wzws_sess** 逆向
声明 本文章中所有内容仅供学习交流,抓包内容、敏感网址、数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除! 网站: aHR0…...
JIRA 基本使用
该页面可以: 查看个人基本信息以及归属的邮件组修改常用参数配置查看指给自己的 Open 问题查看自己最近的活动记录等 权限管理 Project 权限管理 JIRA 项目有三种通用权限方案: 公开权限方案(默认禁止使用此方案):…...
什么是JVM的内存模型?详细阐述Java中局部变量、常量、类名等信息在JVM中的存储位置
导航: 【Java笔记踩坑汇总】Java基础JavaWebSSMSpringBootSpringCloud瑞吉外卖/黑马旅游/谷粒商城/学成在线设计模式面试题汇总性能调优/架构设计源码-CSDN博客 目录 一、JVM基本介绍 二、JVM内存模型 2.0 概述 2.1 类加载子系统 2.2 运行时数据区 2.2.0 基本…...
c#学习相关系列之as和is的相关用法
一、子类和父类的关系 public class Program{static void Main(string[] args){Animal animal new Dog();// Dog dog (Dog)new Animal(); 编译成功,运行报错Dog dog (Dog)animal;Dog dog new Dog();Animal animal dog; //等价于Animal animal new Dog();}}pub…...
excel合并单元格教程
在表格里,总是会遇到一级表格、二级表格的区别,这时候一级表格会需要合并成一个大格子,那么excel如何合并单元格呢,其实使用快捷键或者功能键就可以了。 excel如何合并单元格: 1、首先我们用鼠标选中所有要合并的单元…...
img[src=““] img无路径情况下,页面出现边框
在开发过程中遇到一个问题就是当img标签的src为空时,会出现边框,影响美观 其实我们可以直接加上这个就可以解决了 img[src""],img:not([src]){opacity:0; }...
Unity Shader UV 坐标与纹理平铺Tiling Offset 深度解析
从 UV 空间的数学本质出发,理解 URP 中纹理坐标的缩放(Tiling)与偏移(Offset)控制原理, 并掌握 Shader Graph、HLSL、C# 三种维度的实践技巧。UV 坐标系基础在实时渲染中,UV 坐标是将二维纹理贴…...
JienDa聊PHP:ThinkPHP 8.0 企业级API开发与性能调优实战
1. ThinkPHP 8.0企业级API开发基础 ThinkPHP 8.0作为现代化PHP框架的代表,在企业级API开发领域展现出强大的优势。我最近刚用TP8完成了一个日活50万的电商平台API重构,实测下来性能提升非常明显。相比传统开发方式,TP8的API开发流程更加规范…...
3步革新Windows任务栏:TranslucentTB打造个性化桌面体验
3步革新Windows任务栏:TranslucentTB打造个性化桌面体验 【免费下载链接】TranslucentTB A lightweight utility that makes the Windows taskbar translucent/transparent. 项目地址: https://gitcode.com/gh_mirrors/tr/TranslucentTB 在视觉主导的数字时代…...
二手交易平台信任度调查:闲鱼交易安全性深度解析
二手交易平台信任度调查:闲鱼交易安全性深度解析随着循环经济的兴起,中国二手交易市场规模在2023年突破万亿元大关。作为阿里巴巴旗下的C2C二手交易平台,闲鱼凭借5亿注册用户和日均10亿元的交易规模,已成为国内最大的闲置物品流转…...
腾讯VersaViT:多模态视觉理解新标杆
腾讯VersaViT:多模态视觉理解新标杆 【免费下载链接】VersaViT 项目地址: https://ai.gitcode.com/tencent_hunyuan/VersaViT 导语:腾讯最新发布的多模态视觉编码器VersaViT,通过创新的多任务协同训练策略,同时强化语言介…...
SPIRAN ART SUMMONER图像生成前端展示效果优化技巧
SPIRAN ART SUMMONER图像生成前端展示效果优化技巧 1. 引言 你有没有遇到过这种情况:用SPIRAN ART SUMMONER生成了超棒的图片,但在网站上展示时却加载缓慢,用户还没看到效果就流失了?或者图片显示不完整,影响了整体的…...
CRI-O系统配置终极指南:从systemd服务到内核参数调优
CRI-O系统配置终极指南:从systemd服务到内核参数调优 【免费下载链接】cri-o Open Container Initiative-based implementation of Kubernetes Container Runtime Interface 项目地址: https://gitcode.com/gh_mirrors/cr/cri-o CRI-O是Kubernetes容器运行时…...
别再手动查ID了!用R包一键搞定单细胞Marker基因ID转换(附org.Hs.eg.db实战)
单细胞Marker基因ID转换实战:用org.Hs.eg.db实现高效精准映射 刚完成单细胞聚类分析的研究者,常常会面临一个看似简单却极其耗时的任务——将Marker基因的Symbol标识转换为标准的Entrez ID。这个步骤虽然基础,却直接影响后续GO富集分析的可靠…...
媒体查询、事件绑定、对象拷贝等知识点总结
一、媒体查询(CSS3 响应式设计)1. 基本语法cssmedia 媒体类型 and (媒体特性) {/* CSS 规则 */ }2. 常用媒体类型值说明screen电脑屏幕、平板、手机等print打印机all所有设备(默认)3. 常用媒体特性特性说明max-width最大宽度&…...
保姆级教程:在RK3588上交叉编译Qt 5.15.15(含完整配置流程)
保姆级教程:在RK3588上交叉编译Qt 5.15.15(含完整配置流程) 在嵌入式开发领域,RK3588作为一款高性能的ARM处理器,正逐渐成为智能终端设备的首选平台。而Qt框架凭借其跨平台特性和丰富的GUI组件,为嵌入式界面…...
