mongodb索引生成HTML页面,MongoDB高级索引
在这一章节中,我们来学习高级索引,假设users集合的以下文档 -
{
"address": {
"city": "Haikou",
"province": "Hainan",
"pincode": "123456"
},
"tags": [
"music",
"cricket",
"blogs"
],
"name": "Maxsu"
}
上述文档包含地址子文档和标签数组。
索引数组字段
假设要根据用户的标签搜索用户文档。为此,我们将在集合中的tags数组上创建一个索引。
在数组上创建一个索引依次为每个字段创建单独的索引条目。所以在这个例子中,当在tags数组上创建一个索引时,将为其值music,cricket和blogs创建单独的索引。
要在tags数组上创建索引,请使用以下代码 -
>db.users.ensureIndex({"tags":1})
创建索引后,可以搜索这个集合的标签字段 -
>db.users.find({tags:"cricket"})
要验证是否使用正确的索引,请使用以下说明命令 -
>db.users.find({tags:"cricket"}).explain()
上面的命令生成:“cursor”:“BtreeCursor tags_1”,它确认使用了正确的索引。
索引子文档字段
假设要搜索基于city,province和pincode字段的文档。 由于所有这些字段都是地址子文档字段的一部分,因此将在子文档的所有字段上创建一个索引。
要在子文档的所有三个字段上创建索引,请使用以下代码 -
>db.users.ensureIndex({"address.city":1,"address.state":1,"address.pincode":1})
创建索引后,就可以使用此索引来搜索任何子文档的字段了,如下所示:
>db.users.find({"address.city":"Haikou"})
请记住,查询表达式必须遵循指定的索引的顺序。 所以上面创建的索引将支持以下查询 -
>db.users.find({"address.city":"Haikou","address.province":"Hainan"})
它还将支持以下查询 -
>db.users.find({"address.city":"Haikou","address.province":"Hainan",
"address.pincode":"12345"})
mongodb索引生成HTML页面,MongoDB高级索引相关推荐
- mongodb索引生成HTML页面,mongodb高阶:索引创建、聚合查询、复制集、分片、创建备份和部署...
先前我们讨论了mongodb的进阶查询:投影查询.分页查询以及对查询结果进行排序,从本节起我们开始学习mongodb相关的高级技术,首先我们会讨论mongodb如何创建索引,索引是数据库中最重要的东西 ...
- [教程]MongoDB 从入门到进阶 (概要 以及 高级索引篇 TimeToLive GeoNear)
MongoDB概要 [关于MongoDB] 官方网站: www.mongodb.com MongoDB属于比较典型的NoSql数据库.和Relationship数据库相比,其数据属于文档结构. 最新版 ...
- mongodb基础操作之聚合操作、索引优化
mongodb基础操作之聚合操作.索引优化 更好的阅读体验 https://www.wolai.com/wrMtYWKdkzKYjoWM1i64qu 目录 聚合操作 聚合管道操作 Map-Reduce ...
- mongodb固定集合(Capped Collections) | MongoDB 自动删除集合中过期的数据——TTL索引
文章目录 mongodb固定集合(Capped Collections) 一.什么是mongodb固定集合(Capped Collections) 二.Capped Collections使用场景 三 ...
- Mysql InnoDB B+树索引和哈希索引的区别? MongoDB 为什么使用B-树?
B-树和B+树最重要的一个区别就是B+树只有叶节点存放数据,其余节点用来索引,而B-树是每个索引节点都会有Data域. B+树 B+树是为磁盘及其他存储辅助设备而设计一种平衡查找树(不是二叉树).B+ ...
- mongodb 对象唯一索引_什么是MongoDB?简介,架构,功能和示例
通过这个教程,我们将学习如下内容:- 什么是MongoDB? MongoDB功能 MongoDB示例演示 MongoDB架构的关键组件 为什么要使用MongoDB MongoDB中的数据建模 Mong ...
- mongo 唯一约束索引_快速掌握mongoDB(三)——mongoDB的索引详解
1 mongoDB索引的管理 本节介绍mongoDB中的索引,熟悉mysql/sqlserver等关系型数据库的小伙伴应该都知道索引对优化数据查询的重要性.我们先简单了解一下索引:索引的本质就是一个排 ...
- MongoDb 大数据查询优化、 MongoDB 索引、复合索引、唯一索引、 explain 分 析查询速度
一.索引基础 索引是对数据库表中一列或多列的值进行排序的一种结构,可以让我们查询数据库变得 更快. MongoDB 的索引几乎与传统的关系型数据库一模一样,这其中也包括一些基本的查询优化技巧. 下面是 ...
- MongoDB教程——第3天(性能——索引)
目录 介绍 背景 索引 默认索引 如何创建索引 MongoDB中不同类型的索引 1. 单字段索引 2. 复合索引 3. 多键索引 4. 文字索引 MongoDB索引属性 1. Unique 2. Sp ...
最新文章
- 由于stdin不是终端,因此不会分配伪终端
- [LeetCode] 5. Longest Palindromic Substring
- jsoncpp 库的使用方法
- java有 号_JAVA揭竿而起总要有名号
- 深入理解Three.js(WebGL)贴图(纹理映射)和UV映射
- 北京联合大学计算机学院在哪个校区,北京联合大学各校区联系地址大全
- input失去焦点验证格式_vue2多文本框的表单校验(3)-失去焦点触发校验
- RWMutex的一道面试题
- 如果编程语言是女孩,你最喜欢哪一个?
- 在 linux 下安装 Mysql 的详细过程
- 主机cpu突然飙高,如何快速排查问题
- 尚硅谷Java入门视频教程(一)编程入门
- 三组计算机局域网组网方案,多种方式组建家庭局域网
- 基于深度学习的身份证号码识别方法
- 极速扫描器 masscan
- 从零开始学JavaScript——基础篇
- pandas数据分组与聚合
- GY-BMP280-3.3 高精度大气压强传感器模块
- react navigation 中使用goBack()跳转到指定页面
- CPP全面总结(涵盖C++11标准)
热门文章
- Windows窗体的所有菜单
- 第二阶段 铁大Facebook——十天冲刺(七)
- mysql查询日期内的所有日期代码
- golang 获取api 数据
- 利用Python进行数据分析 Note 1
- IOS应用之二--sqlite的创建数据库,表,插入查看数据
- 将多个文件的属性添加到数据库
- 离开域后打开Office慢 Openfiler
- VS2008中的“解决方案配置”和“解决方案平台”不见了(Release和Debug)的解决方法...
- 用标号跳出当前多重嵌套循环是否继续执行循环_4、在JAVA中如何跳出当前的多重嵌套循环?-Java面试题答案...