MongoDB上的索引
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上的索引的更多相关文章
- MongoDB的学习--索引类型和属性
索引类型 MongDB的索引分为以下几种类型:单键索引.复合索引.多键索引.地理空间索引.全文本索引和哈希索引 单键索引(Single Field Indexes) 在一个键上创建的索引就是单键索引, ...
- MongoDB的学习--索引
索引可以用来优化查询,而且在某些特定类型的查询中,索引是必不可少的.为集合选择合适的索引是提高性能的关键. 先来mock数据 for (i = 0; i < 1000000; i++) { db ...
- MongoDB学习笔记——索引管理
索引 索引能够提升查询的效率.没有索引,MongoDB必须扫描集合中的所有文档,才能找到匹配查询语句的文档. 索引是一种特殊的数据结构,将一小块数据集保存为容易遍历的形式.索引能够存储某种特殊字段或字 ...
- (转) Crittercism: 在MongoDB上实现每天数十亿次请求
MongoDB的扩展能力可以满足你业务需求的增长——这也是为什么它的名字来源于单词humongous(极大的)的原因.当然,这并不是说你在 使用MongoDB的路上并不会碰到一些发展的痛点.Critt ...
- mongodb的地理位置索引
mongoDB支持二维空间索引,使用空间索引,mongoDB支持一种特殊查询,如某地图网站上可以查找离你最近的咖啡厅,银行等信息.这个使用mongoDB的空间索引结合特殊的查询方法很容易实现.前提条件 ...
- mongodb学习(六)索引
准备工作: 先插入100万条数据 for(i=0;i<=1000000;i++){ db.users.insert({ "i":i, "username" ...
- MongoDB基础之六 索引
一 . 索引概述和基本操作 1. 索引提高查询速度,降低写入速度,权衡常用的查询字段,不必在太多列上建索引2. 在mongodb中,索引可以按字段升序/降序来创建,便于排序3. 默认是用btree来组 ...
- MongoDB 创建基础索引、组合索引、唯一索引以及优化
一.索引 MongoDB 提供了多样性的索引支持,索引信息被保存在system.indexes 中,且默认总是为_id创建索引,它的索引使用基本和MySQL 等关系型数据库一样.其实可以这样说说,索引 ...
- MongoDB的学习--索引类型和属性(转)
原文链接:MongoDB的学习--索引类型和属性 索引类型 MongDB的索引分为以下几种类型:单键索引.复合索引.多键索引.地理空间索引.全文本索引和哈希索引 单键索引(Single Field I ...
随机推荐
- LightOJ1201 A Perfect Murder(树形DP)
一道经典的树型DP入门题.dp[u][0/1]表示u点不选或选时以u为根的子树最多能选择的点数. 题目给的有向有环图可以看作森林,注意不是树,因为题目没有说图是连通的! #include<cst ...
- Revit二次开发示例:DisableCommand
Revit API 不支持调用Revit内部命令,但可以用RevitCommandId重写它们(包含任意选项卡,菜单和右键命令).使用RevitCommandId.LookupCommandId()可 ...
- ural 1157. Young Tiler
1157. Young Tiler Time limit: 1.0 secondMemory limit: 64 MB One young boy had many-many identical sq ...
- TYVJ P1031 热浪 Label:dijkstra 最短路
背景 USACO OCT09 9TH 描述 德克萨斯纯朴的民眾们这个夏天正在遭受巨大的热浪!!!他们的德克萨斯长角牛吃起来不错,可是他们并不是很擅长生產富含奶油的乳製品.Farmer John此时以先 ...
- 【BZOJ】1878: [SDOI2009]HH的项链(树状数组)
http://www.lydsy.com/JudgeOnline/problem.php?id=1878 我太弱了,看题解才过的. 一开始看到此题,我想了想在线做法,但之后觉得这个想法可能是错的:维护 ...
- CentoS 下报的 Requires: perl(:MODULE_COMPAT_5.8.8)
yum error requires: libtcmalloc.so.4 rpm -Uvh http://ceph.com/rpm-cuttlefish/el6/x86_64/ceph-release ...
- jQuery Mobile高手必备的十大技巧和代码片段
与任何新技术一样,常常难就难在如何开始入手. 有鉴于此,我们整理出了与jQuery Mobile库有关的我认为最便利的一些技巧.方法和代码片段. 由于本文不是旨在全面介绍使用jQuery Mobile ...
- jquery判断是否出现滚动条
$(document).ready(function(){ var winH = $(window).height(); //页面可视区域高度 $(window).scroll(function () ...
- sql语句清除mssql日志
DUMP TRANSACTION TestDB WITH NO_LOG 清除日志 DBCC SHRINKFILE ('TestDB_log',1) 收缩数据库文件 -----直接 ...
- 关于 swift 的图片多选问题
http://stackoverflow.com/questions/20756899/how-to-select-multiple-images-from-uiimagepickercontroll ...