MongoDB学习笔记(二)
MongoDB的其他方法:
显示指定数目的数据:
1、在mongodb中查询指定数目的记录,可以使用:
db.collectionname.find().limit(number);
2、在mongodb中跳过指定数目的记录,可以使用
db.collectionname.find().skip(number1).limit(number2); // 相当于显示第(number1+1)条数据开始的number2条数据记录。
排序:
将显示的数据记录按升序或降序方式排序:
db.collectionname.find().sort({key:flag}); // key为要依据排序的字段的键;flag为1则是升序,flag为-1则是降序
查询记录时,只显示感兴趣的字段:
db.collectionname.find({},{_id:0,key1:1,key2:1}) //_id:0表示不显示id,key1:1&key2:1,表示显示key1&key2对应的数据。(0不显示,1显示)
索引:
索引的概念:索引是特殊的数据结构,索引以key-value对的形式存储在一个易于遍历读取的数据集合中,key为创建索引的字段的值,value为该条数据记录存储块所对应的指针;
索引可以使用数据库表中一列或多列的值,创建索引后会对字段的所有的值进行排序。索引的创建是为了在特定场景下提升全表扫描的效率。
mongodb中的索引:
mongodb中使用ensureIndex()方法创建索引
db.COLLECTION_NAME.ensureIndex({KEY:1}) //Key 值为你要创建的索引字段,1为升序,-1为降序
ensureIndex() 接收可选参数,可选参数列表如下:
Parameter | Type | Description |
---|---|---|
background | Boolean | 建索引过程会阻塞其它数据库操作,background可指定以后台方式创建索引,即增加 "background" 可选参数。 "background" 默认值为false。 |
unique | Boolean | 建立的索引是否唯一。指定为true创建唯一索引。默认值为false. |
name | string | 索引的名称。如果未指定,MongoDB的通过连接索引的字段名和排序顺序生成一个索引名称。 |
dropDups | Boolean | 在建立唯一索引时是否删除重复记录,指定 true 创建唯一索引。默认值为 false. |
sparse | Boolean | 对文档中不存在的字段数据不启用索引;这个参数需要特别注意,如果设置为true的话,在索引字段中不会查询出不包含对应字段的文档.。默认值为 false. |
expireAfterSeconds | integer | 指定一个以秒为单位的数值,完成 TTL设定,设定集合的生存时间。 |
v | index version | 索引的版本号。默认的索引版本取决于mongod创建索引时运行的版本。 |
weights | document | 索引权重值,数值在 1 到 99,999 之间,表示该索引相对于其他索引字段的得分权重。 |
default_language | string | 对于文本索引,该参数决定了停用词及词干和词器的规则的列表。 默认为英语 |
language_override | string | 对于文本索引,该参数指定了包含在文档中的字段名,语言覆盖默认的language,默认值为 language. |
最新文章
- LayoutInflater的实例化
- 多数据源问题--Spring+Ibatis 访问多个数据源(非分布式事务)
- mysql建表时拆分出常用字段和不常用字段
- Android(java)学习笔记84:自定义异常类
- python多进程中的队列数据共享问题
- Android 接收短信
- eclipse package,source folder,folder区别及相互转换
- cocos2d-x CCAction(转载)
- 解决IP地址被占用问题
- Java基础学习(六)—List
- 如何提高缓存命中率(Redis)
- ☆ [洛谷P2633] Count on a tree 「树上主席树」
- 【Loj116】有源汇有上下界最大流(网络流)
- 【C++】 多态的实现和原理
- UVA 11168 Airport(凸包)
- 【uoj34】 多项式乘法
- Sahi (3) —— 压力测试Load Test以CAS SSO登陆场景为例(103 Tutorial)
- #leetcode刷题之路39-组合总和
- 设置Linux-Centos6.5字符集
- TRUNCATE TABLE 与 DELETE的区别
热门文章
- 信息增益(Information Gain)(转)
- [GO]go使用contextCancel
- 前端福利之盘飞那个 ";阿里矢量图"; (转)
- UVa 1153 Keep the Customer Satisfied (贪心+优先队列)
- meterpreter命令
- 设置UITextField键盘上return key不可点击
- 深海划水队项目--七天冲刺之day7
- 开源应用框架BitAdminCore:更新日志20180903
- C#基础笔记(第二十一天)
- Java并发之ReentrantLock详解