目录
1. 简介
2. mongodb创建索引
3. 组合索引
4. 内嵌文档建立索引
5. 唯一索引
6. 查看建立的索引
7. 删除索引
首页 数据库 mysql教程 Mongodb的索引

Mongodb的索引

Jun 07, 2016 pm 03:56 PM
mongodb 为了 加速 查询 简介 索引

1. 简介 索引是为了加速查询。如果没有索引,mongodb在查询时会做表扫描,如果集合很大时,这个查询会非常慢。一般对创建查询时的键都建立索引。 为排序字段建立索引,如果对未建立索引的字段sort,mongodb会将所有的数据取到内存中来排序,如果集合大到不能

1. 简介

索引是为了加速查询。如果没有索引,mongodb在查询时会做表扫描,如果集合很大时,这个查询会非常慢。一般对创建查询时的键都建立索引。
为排序字段建立索引,如果对未建立索引的字段sort,mongodb会将所有的数据取到内存中来排序,如果集合大到不能在内存中排序,则mongodb会报错。

2. mongodb创建索引

创建索引使用ensureIndex命令。
> db.people.ensureIndex({"username" : 1});
登录后复制
上面语句对people集合的username键做了索引。

3. 组合索引

对于组合查询或排序,建立组合索引。
> db.people.ensureIndex({"date" : -1, "username" : 1});
登录后复制
索引键的1或者-1,表示索引创建的顺序,1为升序, -1为倒序。如果索引只有一个键,则方向无关紧要。

4. 内嵌文档建立索引

为blog集合的评论按照时间建立索引:
> db.blog.ensureIndex({"comments.date" : 1});
登录后复制

5. 唯一索引

唯一索引确保集合中的每个键都是唯一值。
> db.people.ensureIndex({"username" : 1}, {"uniqe" : true});
登录后复制
对已有的集合创建唯一索引时,有可能已经有重复值了,这样会创建索引失败。 dropDups会保留第一个文档,删除后面重复的值。
> db.people.ensureIndex({"username" : 1}, {"unique" : true, "dropDups" : true});
登录后复制

6. 查看建立的索引

索引放在system.indexes集合中。
> db.system.indexes.find();
登录后复制
可以查看索引的key, 名称,属于哪个集合。

7. 删除索引

通过索引的名称,使用dropIndexes可以删除索引。索引名称通过system.indexes来查询。
> db.user.dropIndexes({"username_1" : 1});
登录后复制
地址:http://blog.csdn.net/yonggang7/article/details/28100855
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

mongodb一般用哪个版本 mongodb一般用哪个版本 Apr 07, 2024 pm 05:48 PM

推荐使用 MongoDB 最新版本(当前为 5.0),因为它提供了最新特性和改进。选择版本时,需考虑功能需求、兼容性、稳定性和社区支持,例如:最新版本具有事务、聚合管道优化等特性。确保版本与应用程序兼容。生产环境选择长期支持版本。最新版本有更活跃的社区支持。

学信网如何查询自己的学历 学信网如何查询自己的学历 Mar 28, 2024 pm 04:31 PM

学信网如何查询自己的学历?在学信网中是可以查询到自己的学历,很多用户都不知道如何在学信网中查询到自己的学历,接下来就是小编为用户带来的学信网查询自己学历方法图文教程,感兴趣的用户快来一起看看吧!学信网使用教程学信网如何查询自己的学历一、学信网入口:https://www.chsi.com.cn/二、网站查询:第一步:点击上方学信网地址,进入首页点击【学历查询】;第二步:在最新的网页中点击如下图箭头所示的【查询】;第三步:之后在新页面点击【的登陆学信档案】;第四步:在登陆页面输入信息点击【登陆】;

12306怎么查询历史购票记录 查看历史购票记录的方法 12306怎么查询历史购票记录 查看历史购票记录的方法 Mar 28, 2024 pm 03:11 PM

  12306订票app下载最新版是一款大家非常满意的出行购票软件,想去哪里就去那里非常方便,软件内提供的票源非常多,只需要通过实名认证就能在线购票,所有用户的出行车票机票都可以轻松买到,享受不同的优惠折扣。还能提前开启预约抢票,预约酒店、专车接送都是可以的,有了它想去哪里就去那里一键购票,出行更加简单方便,让大家的出行体验更舒服,现在小编在线详细为12306用户们带来查看历史购票记录的方法。  1.打开铁路12306,点击右下角我的,点击我的订单  2.在订单页面点击已支付。  3.在已支付页

nodejs和vuejs区别 nodejs和vuejs区别 Apr 21, 2024 am 04:17 AM

Node.js 是一种服务器端 JavaScript 运行时,而 Vue.js 是一个客户端 JavaScript 框架,用于创建交互式用户界面。Node.js 用于服务器端开发,如后端服务 API 开发和数据处理,而 Vue.js 用于客户端开发,如单页面应用程序和响应式用户界面。

mongodb创建的数据库在哪里 mongodb创建的数据库在哪里 Apr 07, 2024 pm 05:39 PM

MongoDB 数据库的数据存储在指定的数据目录中,该目录可以位于本地文件系统、网络文件系统或云存储中,具体位置如下:本地文件系统:默认路径为 Linux/macOS:/data/db,Windows:C:\data\db。网络文件系统:路径取决于文件系统。云存储:路径由云存储提供商决定。

mongodb数据库的优势有哪些 mongodb数据库的优势有哪些 Apr 07, 2024 pm 05:21 PM

MongoDB 数据库以其灵活、可扩展和高性能而闻名。它的优势包括:文档数据模型,允许以灵活和非结构化的方式存储数据。水平可扩展性,可通过分片扩展到多个服务器。查询灵活性,支持复杂的查询和聚合操作。数据复制和容错,确保数据的冗余和高可用性。JSON 支持,便于与前端应用程序集成。高性能,即使处理大量数据也能实现快速响应。开源,可定制且免费使用。

mongodb是什么意思 mongodb是什么意思 Apr 07, 2024 pm 05:57 PM

MongoDB是一款面向文档的、分布式数据库系统,用于存储和管理大量结构化和非结构化数据。其核心概念包括文档存储和分布式,主要特性有动态模式、索引、聚集、映射-归约和复制。它广泛应用于内容管理系统、电子商务平台、社交媒体网站、物联网应用和移动应用开发等领域。

mongodb数据库文件在哪 mongodb数据库文件在哪 Apr 07, 2024 pm 05:42 PM

MongoDB 数据库文件位于 MongoDB 数据目录中,默认情况下为 /data/db,其中包含 .bson(文档数据)、ns(集合信息)、journal(写入操作记录)、wiredTiger(使用 WiredTiger 存储引擎时的数据)和 config(数据库配置信息)等文件。

See all articles