
mongodb
文章平均质量分 77
小志的博客
随笔笔记,仅供参考
展开
-
MongoDB——MongoDB删除系统自带的local数据库
MongoDB——MongoDB删除系统自带的local数据库原创 2023-10-31 19:34:28 · 1234 阅读 · 0 评论 -
MongoDB——centOS7环境Mongodb权限管理(图解版)
MongoDB——centOS7环境Mongodb权限管理(图解版)原创 2023-10-10 23:59:04 · 1285 阅读 · 0 评论 -
MongoDB——centOS7安装mongodb5.0.21版本服务端(图解版)
MongoDB——centOS7安装mongodb5.0.21版本服务端(图解版)原创 2023-10-09 23:56:43 · 702 阅读 · 0 评论 -
MongoDB——window11安装mongodb5.0.21版本服务端(图解版)
MongoDB——window11安装mongodb5.0.21版本服务端(图解版)原创 2023-10-08 22:46:18 · 1896 阅读 · 0 评论 -
MongoDB——客户端Robo 3T v1.4.3 安装
目录一、环境和版本二、Robo 3T v1.4.3下载三、安装四、客户端连接一、环境和版本环境:Windows10MongoDB客户端版本:Robo 3T v1.4.3二、Robo 3T v1.4.3下载Studio 3T(专业版收费),Robo 3T(免费版)Robo 3T v1.4.3下载地址:https://download.studio3t.com/robomongo/windows/robo3t-1.4.3-windows-x86_64-48f7dfd.exe三、安装下载原创 2022-05-16 21:15:00 · 6163 阅读 · 2 评论 -
MongoDB——explain执行计划详解
目录一、explain执行计划使用的前提条件二、explain执行计划的语法三、explain执行计划的示例3.1、数据准备3.2、执行explain执行计划指定queryPlanner参数3.3、执行explain执行计划指定executionStats参数3.4、执行explain执行计划指定allPlansExecution参数3.5、 stage状态3.6、执行计划的返回结果中尽量不要出现以下stage一、explain执行计划使用的前提条件查询是否使用了索引索引是否减少了扫描的记录数量是原创 2022-05-05 23:06:44 · 1636 阅读 · 0 评论 -
MongoDB——索引的使用建议
一、索引的使用建议为每一个查询建立合适的索引这个是针对于数据量较大比如说超过几十上百万(文档数目)数量级的集合。如果没有索引MongoDB需要把所有的Document从盘上读到内存,这会对MongoDB服务器造成较大的压力并影响到其他请求的执行。创建合适的复合索引,不要依赖于交叉索引如果你的查询会使用到多个字段,MongoDB有两个索引技术可以使用:交叉索引和复合索引。交叉索引就是针对每个字段单独建立一个单字段索引,然后在查询执行时候使用相应的单字段索引进行索引交叉而得到查询结果。交叉索引目原创 2022-05-05 22:21:02 · 1581 阅读 · 0 评论 -
MongoDB——索引属性之隐藏索引(Hidden Indexes)
目录一、MongoDB官网地址二、隐藏索引(Hidden Indexes)的概述三、隐藏索引(Hidden Indexes)的语法四、隐藏索引(Hidden Indexes)的示例4.1、数据准备4.2、创建隐藏索引并测试查询是否使用到索引4.3、取消创建的隐藏索引并测试查询是否使用到索引一、MongoDB官网地址MongoDB官网地址:https://www.mongodb.com/docs/manual/core/index-single/二、隐藏索引(Hidden Indexes)的概述原创 2022-05-05 22:15:36 · 1127 阅读 · 0 评论 -
MongoDB——索引属性之TTL索引(TTL Indexes)
目录一、MongoDB官网地址二、TTL索引(TTL Indexes)的概述2.1、TTL索引(TTL Indexes)的前提条件2.2、处理历史数据通常的做法2.3、MongoDB提供的做法2.4、TTL索引(TTL Indexes)的理解2.5、创建TTL索引(TTL Indexes)的语法2.6、修改TTL索引(TTL Indexes)过期时间的语法三、TTL索引(TTL Indexes)的使用约束四、创建TTL索引(TTL Indexes)的示例4.1、数据准备4.2、创建TTL索引4.3、查询数据原创 2022-05-04 22:48:07 · 5615 阅读 · 0 评论 -
MongoDB——索引属性之稀疏索引(Sparse Indexes)
目录一、MongoDB官网地址二、稀疏索引(Sparse Indexes)的概述三、稀疏索引(Sparse Indexes)的特性四、稀疏索引(Sparse Indexes)的语法五、稀疏索引(Sparse Indexes)的示例15.1、数据准备5.2、创建稀疏索引5.3、测试1:查看是否使用稀疏索引5.4、测试2:通过索引字段排序,查看是否使用稀疏索引5.5、测试3:测试2中如果要使用稀疏索引,需要使用hint()显式指定索引六、稀疏索引(Sparse Indexes)的示例26.1、先删除创建的稀疏索原创 2022-05-04 22:07:22 · 3831 阅读 · 0 评论 -
MongoDB——索引属性之部分索引(Partial Indexes)
目录一、MongoDB官网地址二、部分索引(Partial Indexes)的概述三、部分索引(Partial Indexes)的创建语法四、部分索引(Partial Indexes)的示例4.1、数据准备4.2、创建部分索引(Partial Indexes)4.3、测试14.4、测试2五、唯一约束结合部分索引使用导致唯一约束失效的问题六、唯一约束结合部分索引的示例6.1、数据准备6.2、创建唯一约束并结合部分索引6.3、测试一、MongoDB官网地址MongoDB官网地址:https://www.m原创 2022-05-04 18:02:33 · 1464 阅读 · 0 评论 -
MongoDB——索引属性之唯一索引(Unique Indexes)
目录一、MongoDB官网地址二、唯一索引(Unique Indexes)的概述三、唯一索引(Unique Indexes)的示例3.1、示例1:没有创建唯一索引,执行2次相同数据的新增操作3.2、示例2:创建唯一索引,执行2次相同数据的新增操作3.3、示例3:复合索引支持唯一性约束3.4、示例4:多键索引支持唯一性约束一、MongoDB官网地址MongoDB官网地址:https://www.mongodb.com/docs/manual/core/index-single/二、唯一索引(Uniq原创 2022-05-04 16:05:30 · 6351 阅读 · 0 评论 -
MongoDB——索引类型之通配符索引(Wildcard Indexes)
目录一、MongoDB官网地址二、通配符索引(Wildcard Indexes)的概述三、通配符索引(Wildcard Indexes)的示例3.1、准备商品数据,不同商品属性不一样3.2、创建通配符索引3.3、测试一、MongoDB官网地址MongoDB官网地址:https://www.mongodb.com/docs/manual/core/index-single/二、通配符索引(Wildcard Indexes)的概述MongoDB的文档模式是动态变化的,而通配符索引可以建立在一些不可原创 2022-05-03 21:23:09 · 1272 阅读 · 0 评论 -
MongoDB——索引类型之Hash索引(Hashed Indexes)
目录一、MongoDB官网地址二、Hash索引(Hashed Indexes)的概述三、创建Hash索引(Hashed Indexes)的语法四、创建Hash索引(Hashed Indexes)的示例4.1、数据准备4.2、创建Hash索引(Hashed Indexes)一、MongoDB官网地址MongoDB官网地址:https://www.mongodb.com/docs/manual/core/index-single/二、Hash索引(Hashed Indexes)的概述不同于传统的B原创 2022-05-03 21:03:19 · 3166 阅读 · 0 评论 -
MongoDB——索引类型之全文索引(Text Indexes)
目录一、MongoDB官网地址二、MongoDB全文索引(Text Indexes)的概述三、MongoDB创建全文索引(Text Indexes)的语法四、MongoDB创建全文索引(Text Indexes)的示例4.1、数据准备4.2、创建全文索引(Text Indexes)4.3、通过$text操作符查询数据一、MongoDB官网地址MongoDB官网地址:https://www.mongodb.com/docs/manual/core/index-single/二、MongoDB全文索引原创 2022-05-03 20:51:50 · 2405 阅读 · 0 评论 -
MongoDB——索引类型之地理空间索引(Geospatial Index)
目录一、MongoDB官网地址二、地理空间索引(Geospatial Index)2.1、地理空间索引(Geospatial Index)的概述2.2、地理空间索引(Geospatial Index)的示例2.2.1、数据准备2.2.2、创建地理空间索引(Geospatial Index)2.2.3、查询附近10000米商家信息一、MongoDB官网地址MongoDB官网地址:https://www.mongodb.com/docs/manual/core/index-single/二、地理空间索原创 2022-05-03 20:14:38 · 1420 阅读 · 0 评论 -
MongoDB——索引类型之多键索引(Multikey Index)
目录一、MongoDB官网地址二、多键索引(Multikey Index)2.1、多键索引(Multikey Index)的概述2.1、多键索引(Multikey Index)的官网图解三、数据准备四、创建多键索引的示例五、创建复合多键索引5.1、创建升序复合多键索引的示例5.2、在包含嵌套对象的数组字段上创建多键索引的示例5.2.1、数据准备5.2.2、在包含嵌套对象的数组字段上创建多键索引六、注意事项一、MongoDB官网地址MongoDB官网地址:https://www.mongodb.com/原创 2022-05-02 22:49:16 · 2073 阅读 · 0 评论 -
MongoDB——索引类型之复合索引(Compound Index)
目录一、MongoDB官网地址二、复合索引(Compound Index)2.1、复合索引(Compound Index)的概述2.2、复合索引(Compound Index)的图解2.3、复合索引(Compound Index)的注意事项三、复合索引的创建一、MongoDB官网地址MongoDB官网地址:https://www.mongodb.com/docs/manual/core/index-single/二、复合索引(Compound Index)2.1、复合索引(Compound In原创 2022-05-02 22:16:47 · 2973 阅读 · 0 评论 -
MongoDB——索引类型之单键索引(Single Field Indexes)
目录一、MongoDB官网地址二、单键索引(Single Field Indexes)2.1、单键索引(Single Field Indexes)的概述2.2、单键索引(Single Field Indexes)的图解三、单键索引的创建3.1、在单个字段上创建升序索引的示例3.2、在嵌入字段上创建升序索引的示例一、MongoDB官网地址MongoDB官网地址:https://www.mongodb.com/docs/manual/core/index-single/二、单键索引(Single Fi原创 2022-05-02 22:05:27 · 841 阅读 · 0 评论 -
MongoDB——索引操作
目录一、创建索引1.1、创建索引的语法格式1.2、创建唯一索引的示例1.3、创建索引后台执行的示例二、查看索引2.1、查看索引信息的语法2.1、查看索引信息的示例2.3、查看索引键的语法2.4、查看索引键的示例2.5、查看索引占用空间的语法2.6、查看索引占用空间的示例三、删除索引3.1、删除集合指定索引的语法3.2、删除集合指定索引的示例3.3、删除集合所有索引的示例一、创建索引1.1、创建索引的语法格式语法格式db.collection.createIndex(keys, options)原创 2022-05-02 18:05:00 · 1284 阅读 · 0 评论 -
MongoDB——索引
目录一、索引介绍二、MongoDB索引数据结构2.1、MongoDB索引数据结构是B-Tree还是B+Tree?2.2、MongoDB索引数据结构三、MongoDB索引的分类一、索引介绍索引是一种用来快速查询数据的数据结构。B+Tree就是一种常用的数据库索引数据结构,MongoDB采用B+Tree 做索引,索引创建在colletions上。MongoDB不使用索引的查询,先扫描所有的文档,再匹配符合条件的文档。 使用索引的查询,通过索引找到文档,使用索引能够极大的提升查询效率。二、Mongo原创 2022-05-02 15:54:54 · 3003 阅读 · 0 评论 -
MongoDB——视图操作
目录一、MongoDB视图的概述二、MongoDB视图的作用三、数据准备四、创建视图4.1、创建视图的基本语法格式4.2、创建视图的语法解释4.3、单个集合创建视图的示例4.4、多个集合创建视图的示例五、修改视图5.1、修建视图的基本语法格式5.2、修建视图的语法解释5.3、修建视图的示例六、删除视图一、MongoDB视图的概述MongoDB视图是一个可查询的对象,它的内容由其他集合或视图上的聚合管道定义。MongoDB不会将视图内容持久化到磁盘。 当客户端查询视图时,视图的内容按需计算。Mong原创 2022-04-26 23:20:34 · 3450 阅读 · 0 评论 -
MongoDB——聚合操作之MapReduce
目录一、MapReduce的概述二、MapReduce的阶段三、MapReduce的基本语法四、MapReduce示例4.1、 数据准备4.2、 MapReduce示例一、MapReduce的概述MapReduce操作将大量的数据处理工作拆分成多个线程并行处理,然后将结果合并在一起。MongoDB提供的Map-Reduce非常灵活,对于大规模数据分析也相当实用。二、MapReduce的阶段MapReduce具有两个阶段:(1)、将具有相同Key的文档数据整合在一起的map阶段;(2)、组合原创 2022-04-26 22:33:22 · 1921 阅读 · 0 评论 -
MongoDB——聚合管道之$lookup操作
目录一、$lookup的概述二、$lookup的语法三、数据准备四、关联查询示例一、$lookup的概述Mongodb 3.2版本新增,主要用来实现多表关联查询, 相当关系型数据库中多表关联查询。每个输入待处理的文档,经过$lookup 阶段的处理,输出的新文档中会包含一个新生成的数组(可根据需要命名新key )。数组列存放的数据是来自被Join集合的适配文档,如果没有,集合为空(即 为[ ])二、$lookup的语法$lookup的语法db.collection.aggregate([原创 2022-04-24 23:09:04 · 4573 阅读 · 0 评论 -
MongoDB——聚合管道之$limit&$skip&$sort操作
目录一、数据准备二、聚合管道之$limit操作2.1、聚合管道之$limit的概述2.2、聚合管道之$limit的示例三、聚合管道之$skip操作3.1、聚合管道之$skip操作的概述3.2、聚合管道之$skip的示例四、聚合管道之$sort操作4.1、聚合管道之$sort的概述4.2、聚合管道之$sort的语法4.3、聚合管道之$sort的示例一、数据准备准备数据集,执行脚本var tags = ["nosql","mongodb","document","developer","popular原创 2022-04-24 22:38:12 · 1337 阅读 · 0 评论 -
MongoDB——聚合管道之$unwind操作
目录一、聚合管道之$unwind的概述二、聚合管道之$unwind的语法格式三、聚合管道之$unwind的示例3.1、数据准备3.2、将数组拆分为多个文档3.3、统计每个作者的book的tag合集3.4、includeArrayIndex选项的示例3.5、用preserveNullAndEmptyArrays选项的示例一、聚合管道之$unwind的概述可以将数组拆分为单独的文档二、聚合管道之$unwind的语法格式注: MongoDB3.2+版本支持如下语法:{ $unwind:原创 2022-04-23 23:26:46 · 9232 阅读 · 0 评论 -
MongoDB——聚合管道之$group操作
目录一、聚合管道之$group的概述二、聚合管道之$group的语法三、accumulator操作符四、聚合管道之$group的示例4.1、数据准备4.2、统计books1集合中的数量、收藏总数和平均值4.3、统计books1集合中每个作者的book收藏总数4.4、统计books1集合中每个作者的每本book的收藏数4.5、统计books1集合中每个作者的book的type合集一、聚合管道之$group的概述按指定的表达式对文档进行分组,并将每个不同分组的文档输出到下一个阶段。输出文档包含一个_id字原创 2022-04-23 22:49:03 · 2813 阅读 · 0 评论 -
MongoDB——聚合管道之$match和$count操作
目录一、$ match的概述二、数据准备三、聚合管道之$ match操作示例一、$ match的概述$ match用于对文档进行筛选,之后可以在得到的文档子集上做聚合,$ match可以使用除了地理空间之外的所有常规查询操作符,在实际应用中尽可能将$ match放在管道的前面位置。这样有两个好处:一是可以快速将不需要的文档过滤掉,以减少管道的工作量;二是如果再投射和分组之前执行$match,查询可以使用索引。筛选管道操作和其他管道操作配合时候时,尽量放到开始阶段,这样可以减少后续管道操作符要操作的文原创 2022-04-21 23:37:35 · 3418 阅读 · 0 评论 -
MongoDB——聚合管道之$project操作
目录一、数据准备二、聚合管道之$project操作示例2.1、查询集合中的数据2.2、$project 可以表示投影操作, 将原始字段投影成指定名称2.3、$project 可以灵活控制输出文档的格式,也可以剔除不需要的字段2.4、$project 可以从嵌套文档中排除字段一、数据准备准备数据集,执行脚本var tags = ["nosql","mongodb","document","developer","popular"];var types = ["technology","social原创 2022-04-21 23:21:53 · 2567 阅读 · 0 评论 -
MongoDB——聚合管道
目录一、什么是 MongoDB 聚合框架二、管道(Pipeline)和阶段(Stage)2.1、管道(Pipeline)和阶段(Stage)的概述2.2、官网文档地址2.3、聚合管道操作语法2.4、常用的管道聚合阶段一、什么是 MongoDB 聚合框架MongoDB 聚合框架(Aggregation Framework)是一个计算框架,它可以:(1)、作用在一个或几个集合上;(2)、对集合中的数据进行的一系列运算;(3)、将这些数据转化为期望的形式;从效果而言,聚合框架相当于 SQL 查询中的原创 2022-04-17 22:36:21 · 1144 阅读 · 0 评论 -
MongoDB——单一作用聚合
目录一、单一作用聚合的概述二、单一作用聚合函数三、单一作用聚合函数示例一、单一作用聚合的概述提供了对常见聚合过程的简单访问,操作都从单个集合聚合文档。MongoDB提供 db.collection.estimatedDocumentCount(),db.collection.count(),db.collection.distinct() 这类单一作用的聚合函数。 所有这些操作都聚合来自单个集合的文档。虽然这些操作提供了对公共聚合过程的简单访问,但它们缺乏聚合管道和map-Reduce的灵活性和原创 2022-04-17 22:07:57 · 830 阅读 · 0 评论 -
MongoDB——聚合操作
一、聚合操作1.1、聚合操作的概述聚合操作处理数据记录并返回计算结果(诸如统计平均值,求和等)。聚合操作组值来自多个文档,可以对分组数据执行各种操作以返回单个结果。聚合操作包含三类:单一作用聚合、聚合管道、MapReduce。1.2、单一作用聚合提供了对常见聚合过程的简单访问,操作都从单个集合聚合文档。1.3、聚合管道聚合管道是一个数据聚合的框架,模型基于数据处理流水线的概念。文档进入多级管道,将文档转换为聚合结果。1.4、MapReduceMapReduce操作具有两个原创 2022-04-17 21:58:01 · 3364 阅读 · 0 评论 -
MongoDB—— 客户端MongoDB Compass
目录一、客户端MongoDB Compass下载官方地址二、启动客户端 MongoDB Compass三、客户端MongoDB Compass连接四、数据库中创建集合操作四、集合中文档的操作4.1、集合中创建文档4.2、集合中查询文档五、集合中文档的其他操作一、客户端MongoDB Compass下载官方地址https://www.mongodb.com/try/download/compass二、启动客户端 MongoDB Compass下载完mongodb-compass-1.31.2-w原创 2022-04-17 21:16:40 · 10032 阅读 · 0 评论 -
MongoDB——文档操作(删除文档)
一、使用 remove 删除文档1.1、使用 remove 删除文档的概述remove 命令需要配合查询条件使用。匹配查询条件的文档会被删除。指定一个空文档条件会删除所有文档。1.2、限定只删除一个文档的命令格式remove命令会删除匹配条件的全部文档,如果希望明确限定只删除一个文档,则需要指定justOne参数,命令格式如下:db.collection.remove(query,justOne)1.3、删除首条记录的命令格式删除满足某个条件的首条记录,则需要指定true原创 2022-04-14 23:02:51 · 755 阅读 · 0 评论 -
MongoDB——文档操作(更新文档)
目录一、更新文档命令的格式二、更新操作符三、更新单个文档3.1、更新单个文档的示例四、更新多个文档4.1、更新多个文档的概述4.2、更新多个文档的示例五、使用upsert命令5.1、upsert命令的概述5.2、upsert命令的示例六、实现replace语义6.1、update实现replace语义的概述6.2、update实现replace语义的示例七、findAndModify命令7.1、findAndModify命令概述7.2、findAndModify命令示例17.3、findAndModify命原创 2022-04-13 23:07:10 · 2125 阅读 · 0 评论 -
MongoDB——文档操作(查询文档)
目录一、查询文档1.1、查询集合中文档的语法1.2、查询集合中文档的示例二、条件查询文档2.1、查询条件对照表2.2、查询逻辑对照表2.3、查询逻辑运算符2.4、指定条件查询的示例三、排序&分页3.1、指定排序示例3.2、分页查询示例3.3、正则表达式匹配查询一、查询文档1.1、查询集合中文档的语法find 查询集合中的若干文档。语法格式如下:db.collection.find(query, projection)查询集合中的第一个文档。语法格式如下db.collection原创 2022-04-12 23:05:15 · 3210 阅读 · 0 评论 -
MongoDB——文档操作(插入文档)
目录一、新增单个文档1.1、语法1.2、示例二、批量新增文档2.1、语法2.2、示例三、批量插入随机数据一、新增单个文档1.1、语法insertOne向指定集合中插入单条文档数据insert若插入的数据主键已经存在,则会抛 DuplicateKeyException 异常,提示主键重复,不保存当前数据。save如果 _id 主键存在则更新数据,如果不存在就插入数据。1.2、示例创建test1数据库> use test1新增单个文档> db.e原创 2022-04-12 22:23:48 · 2711 阅读 · 0 评论 -
MongoDB—— MongoDB介绍
目录一、MongoDB的概述1.1、什么MongoDB1.2、MongoDB概念与关系型数据库(RDBMS)概念对比1.3、MongoDB与传统RDBMS的差异二、MongoDB技术优势三、MongoDB应用场景四、如何考虑是否选择MongoDB?一、MongoDB的概述1.1、什么MongoDBMongoDB是一个文档数据库(以 JSON 为数据模型),由C++语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案。文档来自于“JSON Document”,并非我们一般理解的 PDF,WOR原创 2022-04-10 22:47:15 · 2058 阅读 · 0 评论 -
MongoDB—— 安全认证
目录一、创建管理员账号二、常用权限2.1、常用权限列表2.2、用户认证示例2.3、删除用户示例三、创建应用数据库用户一、创建管理员账号#设置管理员用户名密码需要切换到admin库use admin#创建管理员db.createUser({user:"xz",pwd:"xz",roles:["root"]})#查看所有用户信息show users二、常用权限2.1、常用权限列表常用权限描述read允许用户读取指定数据库readWrite允许用户读写指定数据原创 2022-04-10 22:26:43 · 586 阅读 · 0 评论 -
MongoDB—— shell常用命令
一、mongo shell常用命令命令说明show dbs或者show databases显示数据库列表use 数据库名切换数据库,如果不存在创建数据库db.dropDatabase()删除数据库show collections或者show tables显示当前数据库的集合列表db.集合名.stats()查看集合详情db.集合名.drop()删除集合show users显示当前数据库的用户列表show roles显示当前数据库的原创 2022-04-10 22:25:02 · 2217 阅读 · 0 评论