2024-01-22(MongoDB)

1.Mongodb使用的业务场景:

传统的关系型数据库/mysql在“三高”需求以及应对web2.0的网站需求面前,有点力不从心,什么是“三高”需求:

a. 对数据库高并发的读写需求

b. 对海量数据的高效率存储和访问需求

c. 对数据库的高可扩展性和高可用性的需求。

在(1)数据量大,(2)写入操作频繁/读写都很频繁,(3)价值较低的数据,对事务性要求不高。对于这三类的数据,我们很适合用MongoDBl来实现数据的存储。

2.Mongodb简介:

Mongodb是一个开源的,、高性能、无模式的文档型数据库,当初的设计就是用于简化开发和方便扩展,是NoSQL数据库产品中的一种。是最像关系型数据库(MySQL)的非关系型数据库。

它支持的数据结构非常松散,是一种类似于JSON的格式,叫BSON,所以它既可以存储比较复杂的数据类型,又很灵活。

Mongodb中的记录是一个文档,它是一个由字段和值对(field:value)组成的数据结构。MongoDB文档类似于JSON对象,即一个文档认为就是一个对象。字段的数据类型是字符型,它的值除了使用基本的一些类型外,还可以包括其他文档、普通数组和文档数组。

3.MySQL和MongoDB对比图:

4.MongoDB中几个特殊作用的数据库:

①:admin:从权限的角度来看,这是‘root’数据库。要是将一个用户添加到这个数据库,这个用户自动继承所有数据库的权限。一些特定的服务器端命令也只能从这个数据库运行,比如列出所有的数据库h或者关闭服务器。

②:local:这个数据永远不会被复制,可以用来存储仅限于本地单台服务器的任意集合

③:config:当Mongo用于分片设置时,config数据库在内部使用,用于保存分片的相关信息。

5.MongoDB中的集合就相当于MySQL中的表。

6.MongoDB基本常用命令:

MongoDB常用命令大全_mongodb命令-CSDN博客

7.MongoDB中的索引(底层采用B-Tree数据结构):

(1)单字段索引:MongoDB支持在文档的单个字段上创建用户定义的升序/降序索引,称之为单字段索引。对于单字段索引和排序操作,索引键的排序顺序(升序or降序)并不重要,因为MongoDB可以在任何方向上遍历索引。

(2)复合索引:MongoDB也支持复合索引。复合索引中列出的字段的顺序应该具有意义。例如:如果复合索引由{userid:1, score:-1}组成,则索引首先按照userid正序排序,然后在每个userid的值内,再按照score倒序排序。

其他索引:地理空间索引、文本索引、哈希索引。

8.MongodbTemplate类辅助我们操作MongoDB数据库。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/641065.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

实现VLAN之间的路由

原理:路由器子接口 一个接口允许多个VLAN通过(避免占用物理路由器接口)。 目标 第 1 部分:单臂路由 第 2 部分:配置第三层交换机的路由端口 第 3 部分:带SVI的VLAN间路由 第 4 部分:补充知…

苹果笔记本MacBook电脑怎么卸载软件?三种方法快速卸载软件

苹果笔记本MacBook电脑是一款非常流行的电脑,但是有时候我们可能需要卸载一些不需要的软件。下面是一些简单的步骤,可以帮助您在MacBook电脑上卸载软件。 苹果笔记本MacBook电脑怎么卸载软件?三种实用方法快速卸载软件! 方法一&a…

【网络安全 -> 防御与保护】信息安全概述

目录 一、信息安全现状及挑战 二、信息安全脆弱性及常见安全攻击 1、网络环境的开放性 2、协议栈的脆弱性及常见攻击 3、操作系统的脆弱性及常见攻击 4、终端的脆弱性及常见攻击 5、其他常见攻击 三、信息安全要素 四、整体安全解决方案 一、信息安全现状及挑战 &…

【5G 接口协议】N2接口协议NGAP(NG Application Protocol)介绍

博主未授权任何人或组织机构转载博主任何原创文章,感谢各位对原创的支持! 博主链接 本人就职于国际知名终端厂商,负责modem芯片研发。 在5G早期负责终端数据业务层、核心网相关的开发工作,目前牵头6G算力网络技术标准研究。 博客…

图神经网络X项目|基于图神经网络的电商行为的预测(5%)

文章目录 Jupyter Notebook 学习人工智能的好帮手数据集数据集下载数据集调用数据集应用技巧——获取不重复的编号数据集应用技巧——随机采样数据集应用技巧——抽取前N项进行模拟测试 数据集构建技巧一——查看数据集构建进度 Jupyter Notebook 学习人工智能的好帮手 【Jupy…

(delphi11最新学习资料) Object Pascal 学习笔记---第3章第一节(简单语句与复合语句)

Object Pascal 学习笔记,Delphi 11 编程语言的完整介绍 作者: Marco Cantu 笔记:豆豆爸 3.1 简单语句与复合语句 ​ 编程指令通常称为语句。一个程序块可以由多个语句组成。有两种类型的语句,简单语句和复合语句。当语句不包含任何其他子语…

【XR806开发板试用】系列之一 - Linux环境下Ubuntu完全开发流程

前言 为了让极术社区开发者体验搭载安谋科技STAR-MC1处理器的面向IoT领域的全志XR806开发板,极术社区联合全志在线开发者社区共同推出XR806开发板免费试用活动。 极术社区特准备了200块XR806开发板作为2022年社区新年活动,申请的人数有600多&#xff0c…

Tensorflow2.0笔记 - tensor的合并和分割

主要记录concat,stack,unstack和split相关操作的作用 import tensorflow as tf import numpy as nptf.__version__#concat对某个维度进行连接 #假设下面的tensor0和tensor1分别表示4个班级35名同学的8门成绩和两个班级35个同学8门成绩 tensor0 tf.ones([4,35,8]) tensor1 tf…

SPN的重要性 | 保障服务安全和身份验证

什么是 Service Principal Name(SPN)? SPN 是用于标识网络服务的唯一名称。在 Windows 中,SPN 与 Kerberos 认证一起使用。 SPN 是由两部分组成的: 服务类型(Service Class): 表示…

RK3399平台开发系列讲解(网络篇)什么是Linux路由

🚀返回专栏总目录 文章目录 一、什么是路由二、路由配置命令沉淀、分享、成长,让自己和他人都能有所收获!😄 一、什么是路由 一张路由表中会有多条路由规则。每一条规则至少包含这三项信息。 目的网络:这个包想去哪儿?出口设备:将包从哪个口扔出去?下一跳网关:下一个…

vscode显示函数列表插件 - AZ AL Dev Tools/AL Code Outline

官网: AZ AL Dev Tools/AL Code Outline - Visual Studio Marketplace 适用于 Visual Studio Code 的 AZ AL 开发工具/AL 代码大纲 此扩展最初被命名为“AL 代码大纲”,因为它最初是 AL 代码大纲面板,从中可以在 AL 语法节点上运行不同的代码…

js对象数组去重封装

1.简单的数组去重就使用常用的去重方式好了 可以看这里: js多种数组去重方法-CSDN博客 2. 下面是关于object的数组去重 // 普通数组和 Object数组去重 const list1 [1, 4, 45, 6, 3, 4, 5, 3, 2, 1, 3, 2]; const list2 ["sss", "sss", &q…

Angular:跨域请求携带 cookie

新建拦截器,设置 XMLHttpRequest:withCredentials 属性 1. 新建文件夹 http-interceptors 该文件夹下可有多个不同用途的拦截器2. 新建拦截器 common.interceptor.ts import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from "an…

Go语言实现新年快乐的效果

在 Go 语言中,你可以使用 fmt 包来实现新年快乐的效果。以下是一个简单的例子: package mainimport ("fmt""time" )func printNewYear() {fmt.Println("\033[31m新年快乐!\033[0m")fmt.Println("\033[32…

电脑 wifi 常断

问题 电脑wifi网络经常断。 详细问题 笔者使用笔记本电脑,发现每过三五分钟,wifi便会自动断开。 解决方案 步骤1、搜索框搜索设备管理器。 步骤2、找到网络适配器并点击。 步骤2、找到网络适配器菜单中的Wireless相关内容,右键&#x…

企业微信开发:客户端调试

开启客户端调试 按照下面官网的说明操作,就可以开启客户端调试了。 官网文档链接:企业微信开发者中心:常见问题 - FAQ - 客户端调试 进入调试模式 进入方式:Ctrl Alt Shift D 按快捷键 Ctrl Alt Shift D,进入…

(十)Head first design patterns组合模式(c++)

组合模式 组合模式在参考链接中已经讲得很好了,这里只简单讲讲就好。 组合模式的意图是表达部分-整体层次结构。 当你需要管理一个组合对象,又要管理这个组合对象的单个对象。这个时候就可以让这个组合对象和单个对象继承同一个基类,以便用…

Golang 通过开源库 go-redis 操作 NoSQL 缓存服务器

前置条件: 1、导入库: import ( "github.com/go-redis/redis/v8" ) 2、搭建哨兵模式集群 具体可以百度、谷歌搜索,网上现成配置教程太多了,不行还可以搜教程视频,跟着视频博主一步一个慢动作&#xff0…

《绝地求生大逃杀》怎么买衣服 Steam商店服装购买方法

《绝地求生大逃杀》怎么买衣服?游戏中好看的服装有不少,大家可能开箱并没开出来,想买却不知具体的入手途径,今天闲游盒带来《绝地求生大逃杀》怎么买衣服 Steam商店服装购买方法,希望对各位有帮助。 打开Steam&#xf…

Oracle中如何把整个表作为参数传递

当然可以!在Oracle中,你可以使用表类型的变量来传递表作为参数。首先,你需要创建一个表类型的变量,然后在存储过程或函数中声明这个变量。接下来,你可以将实际表的数据赋值给这个变量,并在存储过程或函数中…