1. 将索引建在number键上名为nameIndex并且为正序索引({number:-1}为倒序索引) 如: db.list名.ensureIndex({number:1},{name:"nameIndex"}) ;

2. 在查询时指定使用一个正序索引则调hint() 例如:db.list名.find({age:{$lte:56}},{name:1,_id:0}).hint({name:1});

3. 在查询时我们究竟使用了哪个索引  如:db.list名.find({age:{$lte:56}}).explain();即可打印出所使用的索引信息;

4. 建立索引有时很消耗性能那么我们可以将其在后台执行使用 db.list名.ensureIndex({number:1},{background:true}) ;

5.创建唯一索引,其含义就是该索引的每个键对应的值的内容不可以有重复 如:db.list名.ensureIndex({number:1},{unique:true,dropDups:true});即可                              dropDups:true控制如有重复就将其删除(可选)***但唯一索引的意义并不大***;

6.删除指定的索引(name_-1为索引名) 如:db.runCommand({dropIndexes:"list名",index:"name_-1"});即可完成索引的删除,或直接使用db.list名.drop(); 也可;

若想删除全部索引  如:db.runCommand({dropIndexes:"list名",index:"*"});即可;

7.2d索引:db.list名.ensureIndex({g:"2d"},{min:-1,max:200});   (以g为键的值的形式为:[{g:{x:20,y:90}},{g:{x:21,y:40}}, ...])

7.1 返回距离指定点[20,40]最近的2个点 如:db.list名.find({g:{$near:[20,40]}},{_id:0,g:200}).limit(2);

7.2 返回以指定点为圆心[20,40]半径为50最近的2个点 如:db.list名.find({g:{$within:{$center:[[20,40],50]}}},{_id:0,g:200});

7.3 返回以指定点[20,40],[50,80]为对角线的正方形内的所有点 如:db.list名.find({g:{$within:{$box:[[20,40],[50,80]]}}},{_id:0,g:200});

MongoDB上的索引的更多相关文章

  1. MongoDB的学习--索引类型和属性

    索引类型 MongDB的索引分为以下几种类型:单键索引.复合索引.多键索引.地理空间索引.全文本索引和哈希索引 单键索引(Single Field Indexes) 在一个键上创建的索引就是单键索引, ...

  2. MongoDB的学习--索引

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

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

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

  4. (转) Crittercism: 在MongoDB上实现每天数十亿次请求

    MongoDB的扩展能力可以满足你业务需求的增长——这也是为什么它的名字来源于单词humongous(极大的)的原因.当然,这并不是说你在 使用MongoDB的路上并不会碰到一些发展的痛点.Critt ...

  5. mongodb的地理位置索引

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

  6. mongodb学习(六)索引

    准备工作: 先插入100万条数据 for(i=0;i<=1000000;i++){ db.users.insert({ "i":i, "username" ...

  7. MongoDB基础之六 索引

    一 . 索引概述和基本操作 1. 索引提高查询速度,降低写入速度,权衡常用的查询字段,不必在太多列上建索引2. 在mongodb中,索引可以按字段升序/降序来创建,便于排序3. 默认是用btree来组 ...

  8. MongoDB 创建基础索引、组合索引、唯一索引以及优化

    一.索引 MongoDB 提供了多样性的索引支持,索引信息被保存在system.indexes 中,且默认总是为_id创建索引,它的索引使用基本和MySQL 等关系型数据库一样.其实可以这样说说,索引 ...

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

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

随机推荐

  1. 简单几何(凸包+多边形面积) POJ 3348 Cows

    题目传送门 题意:求凸包 + (int)求面积 / 50 /************************************************ * Author :Running_Tim ...

  2. 分拆素数和[HDU2098]

    分拆素数和 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submi ...

  3. python 代码片段6

    #coding=utf-8 # python常用的列表list和字符串string # tuple元组,一个身有残疾的只读列表 s='python' print s[0] print s[-1] # ...

  4. BZOJ1099 : [POI2007]树Drz

    首先1与i交换,n与i交换,i与i+1交换的可以$O(n)$算出. 然后只需要考虑i与x交换(1<i,x<n且|i-x|>1). 设 a[i]=h[i-1] b[i]=h[i+1] ...

  5. 【wikioi】1250 Fibonacci数列(矩阵乘法)

    http://wikioi.com/problem/1250/ 我就不说这题有多水了. 0 1 1 1 矩阵快速幂 #include <cstdio> #include <cstri ...

  6. GIT用法总结

    1 git中的几种文件状态 a 未被git跟踪的文件,即是没有使用git add添加到git索引的的文件:untracked; b 没有修改但是已经被git跟踪的文件,即是使用git add添加到gi ...

  7. Java实现FTP上传下载功能

    Java FTP客户端工具包很多,在此我选用的Apache的FTPClient.这个包的获取可以通过http://commons.apache.org/net/来获取,我使用的是最新的commons- ...

  8. JBPM4.4学习API

    一.流程引擎API org.jbpm.api.ProcessEngine是jbpm4所有的Service API 之源. 既所有的Service API(服务接口)都从ProcessEngine中获取 ...

  9. maven 将依赖的jar包打入jar包中

    pom中加入以下代码,利用mvn assembly:assembly就可以了. <build> <plugins> <plugin> <artifactId& ...

  10. wordpress安装

    通过浏览器访问wordpress文件包 点击现在就开始,填写下面内容 我的填写 如出现下面情况,你得先创建一个数据库,再重试 数据库的创建 之后会出现 点击进行安装 安装成功 登录 主界面 写个文章, ...