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

Mongodb学习

mongodb应用场景:

mongodb特点:高扩展性(分片水平扩展)、高可用,对事务性要求不高、应用需要大量的地理位置查询、文本查询

mongodb部署架构:副本集、分片集群

MongoDB 是一个开源、高性能、无模式的文档型数据库,数据以类似 JSON 的文档形式存储。mongodb中记录是一个文档,它是一个由字段和值对(filed:value)组成的数据结构,mongodb文档类似于json对象,即一个文档就是一个对象,字段的数据类型是字符型,

MongoDB使用集合(Collections)来组织文档(Documents),每个文档都是由键值对组成的。

数据库(Database):存储数据的容器,类似于关系型数据库中的数据库。
集合(Collection):数据库中的一个集合,类似于关系型数据库中的表。
文档(Document):集合中的一个数据记录,类似于关系型数据库中的行(row),以 BSON 格式存储。

SQL术语/概念
database 对应mongodb --database
table 对应mongodb --collection
row 对应mongodb --document 数据记录行/文档
column 对应mongodb --field 数据字段/域
index 对应mongodb --index 索引
table joins 对应mongodb --表连接mongodb不支持 通过嵌入式文档来代替多表连接
primary key 对应mongodb --主建 mongodb自动将_id字段设置为主键

存储引擎
MongoDB的存储原理与其所使用的存储引擎紧密相关。自MongoDB 3.2版本起,WiredTiger成为了默认的存储引擎。WiredTiger是一个高性能、支持事务的存储引擎,它结合了B树索引和LSM树(Log-Structured Merge Tree)的优点,为MongoDB提供了出色的读写性能。

具体来说,WiredTiger通过其B树索引结构实现了快速的数据检索。同时,它利用LSM树的设计原理,将数据首先写入内存中的数据结构(MemTable),随后在合适的时机将这些数据合并到磁盘上的持久化存储中。这种设计使得WiredTiger能够高效地处理大量的写入操作,特别适用于需要高写入性能的应用场景。

默认数据库
admin
local
config

操做
db.dropdabase()
插入
db.collection(要插入数据的集合).insert(内容)

查询
db.collection(要插入数据的集合).find(内容)

相关文章:

  • Nginx之HTTP模块详解
  • 【LeetCode 5.】 最长回文子串
  • 主窗体设计
  • 2023年的Top20 AI应用在近一年表现怎么样?
  • Postman如何做接口测试:什么?postman 还可以做压力测试?
  • Windows 服务器Nginx 下载、部署、配置流程(图文教程)
  • 一次基于 rebase 的 PR 提交
  • MEMS:Lecture 18 Feedback
  • 【Linux】基础IO [万字之作]
  • tcp和udp的例子
  • 用Copilot画漫画,Luma AI生成视频:解锁创意新玩法
  • 享元和代理模式
  • 反射,枚举以及lambda表达式
  • Spring 整合 MyBatis 底层源码解析
  • 条件语句与循环结构
  • @jsonView过滤属性
  • [rust! #004] [译] Rust 的内置 Traits, 使用场景, 方式, 和原因
  • 【comparator, comparable】小总结
  • ES6语法详解(一)
  • Java教程_软件开发基础
  • js 实现textarea输入字数提示
  • Linux下的乱码问题
  • MaxCompute访问TableStore(OTS) 数据
  • MySQL Access denied for user 'root'@'localhost' 解决方法
  • Python3爬取英雄联盟英雄皮肤大图
  • Spring Cloud Feign的两种使用姿势
  • Spring Cloud中负载均衡器概览
  • ViewService——一种保证客户端与服务端同步的方法
  • Vue ES6 Jade Scss Webpack Gulp
  • 编写符合Python风格的对象
  • 前端 CSS : 5# 纯 CSS 实现24小时超市
  • 前端存储 - localStorage
  • 深度学习在携程攻略社区的应用
  • 使用 Xcode 的 Target 区分开发和生产环境
  • 使用parted解决大于2T的磁盘分区
  • 试着探索高并发下的系统架构面貌
  • 为视图添加丝滑的水波纹
  • 移动互联网+智能运营体系搭建=你家有金矿啊!
  • 译自由幺半群
  • 原生js练习题---第五课
  • mysql 慢查询分析工具:pt-query-digest 在mac 上的安装使用 ...
  • ​【原创】基于SSM的酒店预约管理系统(酒店管理系统毕业设计)
  • #{} 和 ${}区别
  • #define、const、typedef的差别
  • (C++)栈的链式存储结构(出栈、入栈、判空、遍历、销毁)(数据结构与算法)
  • (html转换)StringEscapeUtils类的转义与反转义方法
  • (java版)排序算法----【冒泡,选择,插入,希尔,快速排序,归并排序,基数排序】超详细~~
  • (Java实习生)每日10道面试题打卡——JavaWeb篇
  • (pytorch进阶之路)CLIP模型 实现图像多模态检索任务
  • (八)五种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (二)【Jmeter】专栏实战项目靶场drupal部署
  • (二)pulsar安装在独立的docker中,python测试
  • (附源码)ssm学生管理系统 毕业设计 141543
  • (附源码)基于SSM多源异构数据关联技术构建智能校园-计算机毕设 64366
  • (教学思路 C#之类三)方法参数类型(ref、out、parmas)