IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> MongoDB简明手册 -> 正文阅读

[大数据]MongoDB简明手册

作者:recommend-item-box type_blog clearfix

官方文档链接

一、简介

  • MongoDB是为快速开发互联网Web应用而设计的数据库系统
  • 其设计目标是极简、灵活、成为Web应用栈的一部分
  • 其数据模型是面向文档的,所谓文档即是一种类型于JSON的数据结构,可以把MongoDB数据库理解为存储各种各样的JSON文件。(专用结构:BSON,Binary JSON)
  • MongoDB的版本规则(x.y.z):y偶数表示稳定版,奇数表示开发版
  • MongoDB已不再支持32位系统(i386),且对平台兼容性要求复杂,官方解释

二、核心概念

  • 数据库database
    • 理解为仓库,仓库里可以存放集合
  • 集合collection
    • 集合类似于数据,在集合里可以存储文档
  • 文档document
    • MongoDB的最小单位,存储和操作的对象都是文档
  • 概念对比sss- BSON数据类型参考:bb

三、基本操作

  • 基本指令
    • show dbs:显示当前所有数据库
    • use dbname:进入到指定数据库中操作(不存在则自动创建,惰性加载的存储机制)
    • db:显示当前所在的数据库
    • show collections:显示数据库中所有的集合
  • CRUD指令
    • 插入文档
      • 单个插入语法:db.[collection].insert({})
      • 批量插入语法:db.[collection].insertMany([{}, …])
    • 查询文档
      • 查询全部:db.[collection].find()
      • 查询第一条:db.[collection].findOne()
      • 投影查询:db.[collection].find({query}, {field})
    • 修改文档
      • 语法:db.[collection].update({query}, {update}, {options})
      • 覆盖修改:db.[collection].update({query}, {})
      • 局部修改:db.[collection].update({query}, {$set:{}}),默认只修改第一条数据
      • 批量修改:db.[collection].update({query}, {$set:{}}, {multi:true})
      • 列值自增:db.[collection].update({query}, {$inc:{field:NumberInt(步进值)}})
    • 删除文档
      • 语法:db.[collection].remove({query})
      • 删除全部:db.[collection].remove({})
  • 文档间的关系通过内嵌文档的形式体现
    • 一对一 one to one
    • 一对多 one to many / 多对一 many to one
    • 多对多 many to many

四、高级操作

  1. 分页查询
  • 统计查询,count()
    • 语法:db.[collection].count(query, options)
  • 分页列表查询,limit()和skip()
    • 语法:db.[collection].find().limit(num).skip(num)
  • 排序查询,sort()
    • 语法:db.[collection].find().sort({升序1,降序-1})
  1. 模糊查询,正则的复杂条件查询
    语法:db.[collection].find({field:/正则表达式/})
  2. 比较查询
    大于:db.[collection].find({field: {$gt: value}})
    小于:db.[collection].find({field: {$lt: value}})
    大于等于:db.[collection].find({field: {$gte: value}})
    小于等于:db.[collection].find({field: {$lte: value}})
    不等于:db.[collection].find({field: {$ne: value}})
  3. 包含查询
    包含:db.[collection].find({field: {$in: [value,…]}})
    不包含:db.[collection].find({field: {$nin: [value,…]}})
  4. 条件连接查询
    逻辑与:db.[collection].find({$and: [{…}, {…}, …]})
    逻辑或:db.[collection].find({$or: [{…}, {…}, …]})

五、索引

索引支持着MongoDB的高效查询。如果没有索引,MongoDB必须进行全集合扫描,即扫描集合中的每个文档,以选择与查询语句匹配的文档,这种方式的查询效率是极其低下的。如果查询存在适当的索引,MongoDB可以使用它限制必须检查的文档数。官方解释

索引是一种特殊的数据结构,以易于遍历的形式存储集合数据集的一小部分。索引存储特定的字段或一组字段的值,按字段值排序。索引项的排序支持有效的相等匹配和基于范围的查询操作。另外,MongoDB还可以使用索引中的排序返回排序结果。

  1. 单字段索引 Single Field Index
    在文档的单个字段上创建用户定义的升序/降序索引。
  2. 复合索引 Compound Index
    多个字段的用户定义索引,即复合索引。复合索引中列出的字段顺序具有重要意义。
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-08-19 19:12:48  更:2022-08-19 19:15:30 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 18:11:50-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码