MongoDB 索引

1. 建立索引

唯一索引
db.passport.ensureIndex( {"loginname": 1}, {"unique": true});
复合唯一索引
db.passport.ensureIndex( {"loginname": 1,“age”: 1}, {"unique": true});
去除重复(不建议使用,建议自己处理重复数据)
db.passport.ensureIndex( {"loginname": 1}, {"unique": true, “dropDups”: true});

2. 稀疏索引
db.passport.ensureIndex( {“email”: 1}, {"unique": true, “sparse”: true});

3. 查看索引
db.passport.getIndexes()

> db.passport.getIndexes()
[
{
"v" : 1,
"key" : {
"_id" : 1
},
"ns" : "bike.passport",
"name" : "_id_"
},
{
"v" : 1,
"unique" : true,
"key" : {
"loginname" : 1
},
"name" : "loginname_1",
"ns" : "bike.passport"
}
]

4. 删除索引

> db.passport.dropIndex(“loginname_1”)

一个初始化脚本
shell init db index
1 db = connect("localhost/bike");
2 function init_index()
3 {
4 db.passport.ensureIndex( {"loginname": 1}, {"unique": true});
5
6 db.bike.ensureIndex( {"bike_num": 1}, {"unique": true} );
7 db.bike.ensureIndex( {"lock_id": 1}, {"unique": true} );
8 db.bike.ensureIndex( {"lock_num": 1}, {"unique": true} );
9 db.bike.ensureIndex( {"dealerid": 1} );
10
11 db.order.ensureIndex( {"uid": 1});
12 db.order.ensureIndex( {"bikeid": 1});
13
14 db.deposit.ensureIndex( {"uid": 1} );
15 db.deposit.ensureIndex( {"loginname": 1} );
16
17 printjson("index init is ok");
18 }
19
20 init_index();
21

固定集合
TTL索引
全文本索引
地理空间索引

[DataBase] MongoDB (7) MongoDB 索引的更多相关文章

  1. 深入理解MongoDB的复合索引

    更新时间:2018年03月26日 10:17:37   作者:Fundebug    我要评论 对于MongoDB的多键查询,创建复合索引可以有效提高性能.这篇文章主要给大家介绍了关于MongoDB复 ...

  2. MongoDB学习笔记~索引提高查询效率

    回到目录 索引这个东西大家不会陌生,只要接触到稍微大一点的数据,都会用到这东西,它可以提升查询的速度,相当代价就是占用了更多的存储空间,这也是正常的,符合“能量守恒定理”,哈哈!今天说的是MongoD ...

  3. MongoDB学习笔记(索引)

    一.索引基础:    MongoDB的索引几乎与传统的关系型数据库一模一样,这其中也包括一些基本的优化技巧.下面是创建索引的命令:    > db.test.ensureIndex({" ...

  4. MongoDB的学习--索引

    索引可以用来优化查询,而且在某些特定类型的查询中,索引是必不可少的.为集合选择合适的索引是提高性能的关键. 先来mock数据 for (i = 0; i < 1000000; i++) { db ...

  5. MongoDB学习笔记(索引)(转)

    一.索引基础:    MongoDB的索引几乎与传统的关系型数据库一模一样,这其中也包括一些基本的优化技巧.下面是创建索引的命令:    > db.test.ensureIndex({" ...

  6. MongoDB学习笔记——索引管理

    索引 索引能够提升查询的效率.没有索引,MongoDB必须扫描集合中的所有文档,才能找到匹配查询语句的文档. 索引是一种特殊的数据结构,将一小块数据集保存为容易遍历的形式.索引能够存储某种特殊字段或字 ...

  7. mongodb的地理位置索引

    mongoDB支持二维空间索引,使用空间索引,mongoDB支持一种特殊查询,如某地图网站上可以查找离你最近的咖啡厅,银行等信息.这个使用mongoDB的空间索引结合特殊的查询方法很容易实现.前提条件 ...

  8. MongoDB的学习--索引类型和属性(转)

    原文链接:MongoDB的学习--索引类型和属性 索引类型 MongDB的索引分为以下几种类型:单键索引.复合索引.多键索引.地理空间索引.全文本索引和哈希索引 单键索引(Single Field I ...

  9. MongoDB小结23 - 索引简介

    MongoDB中的索引,可以看作是书的目录. 想象一下给你一本没有目录的书,然后让你去查询指定内容,我只想说,我不是电脑,我很蛋疼! 让你翻没有目录的书,就跟让电脑查询没有索引的集合一样,从头查询到尾 ...

  10. MongoDB数据模型和索引学习总结

    MongoDB数据模型和索引学习总结 1. MongoDB数据模型: MongoDB数据存储结构: MongoDB针对文档(大文件採用GridFS协议)採用BSON(binary json,採用二进制 ...

随机推荐

  1. 【Android测试】UI自动化代码优化之路(临时发布, 随时删除)

    ◆版权声明:本文出自胖喵~的博客,转载必须注明出处. 转载请注明出处:http://www.cnblogs.com/by-dream/p/5993622.html 关于UI自动化的抱怨 听过不少人这样 ...

  2. cloudera learning8:MapReduce and Spark

    YARN:Yet Another Resource Negotiator, Hadoop集群的资源管理器,可以对运行在Hadoop上的MapReduce V2,Spark,Impala等进行内存和CP ...

  3. 网络监测工具-iftop教程

    在类Unix系统中可以使用top查看系统资源.进程.内存占用等信息.查看网络状态可以使用netstat.nmap等工具.若要查看实时的网络流量,监控TCP/IP连接等,则可以使用iftop. 一.if ...

  4. ui-grid

    html代码: <html ng-app="myApp">       <head>         <meta charset="utf- ...

  5. java.lang.IllegalArgumentException: Result Maps collection does not contain value for java.lang.Integer

    今天做springmvc+mybatis+spring的项目的时候发现了一个异常.如下: org.apache.ibatis.builder.IncompleteElementException: C ...

  6. Programming pearls 编程珠玑的题目

    Programming pearls 编程珠玑的题目 这段时间有空都在看编程珠玑,很经典的一本书,一边看一边用 python 做上面的题目,我做的都放到 github 上了 https://githu ...

  7. vpn打通结果ping不通

    A 是一台服务器 B 是一台openvpn A 设置路由 route add -net 172.16.1.0/24 gw 192.168.125.228 B 设置伪装 -A POSTROUTING - ...

  8. sh脚本异常:/bin/sh^M:bad interpreter: No such file or directory

    在Linux中执行.sh脚本,异常/bin/sh^M: bad interpreter: No such file or directory. 分析:这是不同系统编码格式引起的:在windows系统中 ...

  9. MWeb 1.7.1 版发布!支持导出为 RTF 和 Docx、发布到 Evernote 带样式、文档库备份和新网站主题等大量改进!

    编辑器及发布服务改进 增加设置图片宽度和居左.居右.居中的语法. 如:![图片说明-w450](pic.jpg) 这样表示设置图片宽度为 450.其中 -w450 为设置语法,生成 HTML 时会自动 ...

  10. 前端forEach在Array、map、set中的使用

    数组: var s = ['a','b','c']; s.forEach(function(ele,index,array){ console.log(ele); }); Map: var map = ...