赞
踩
一、条件操作符。
条件操作符用于比较两个表达式并从mongodb集合中获取数据。
db.col_index.find({age:{$gt:18,$lte:19}})
二、排序。
mongodb使用sort()方法对数据进行排序。参数1升序,-1降序。
db.col_index.find({},{age:1,_id:0}).sort({age:-1})
三、索引。
1.概述。
(1)提高查询效率
(2)写效率会有所降低
(3)索引结构采用平衡树的结构持久化存储,以保证从索引里快速找到某个值对应的位置信息,然后根据位置信息就能读取出对应的文档。
(4)创建集合时默认为主键创建索引
2.创建索引。
索引种类:mongodb中支持多种类型的索引,包括单字段索引、复合索引、多key索引、文本索引等。
(1)单字段索引(同键不能重复建立单一索引)
- db.collections.ensureIndex({“name”:1}) //1为升序,-1为降序
- db.collections.find({“name”:”zhangsan”}).explain()
(2)索引参数
(3)交叉索引
查询的时候通过多个字段索引查询。效率低,查询多个字段的时候尽量使用复合索引。最终结果是地址做交集。
(4)复合索引
针对多个字段联合创建索引,先按第一个字段排序,第一个字段相同的文档按第二个字段排序,以此类推。
(5)复合索引
(6)多key索引
当索引的字段为数组时,创建出的索引称为多key索引,多key索引会为数组的每个元素建立一条索引。
(7)文本索引
MongoDB支持在字符串内容上执行文本检索的查询操作。为了执行文本检索查询,必须在集合上有一个 text 索引。一个集合只能拥有一个文本检索索引,但是这个索引可以覆盖多个字段。
db.stores.createIndex( { name: "text", description: "text" } )
使用 $text 查询操作符检索。
db.stores.find( { $text: { $search: "java coffee shop" } } )
三、查看索引。
db.collections.getIndexes()
db.collections.getIndexKeys()
db.collections.getIndexSpecs()
- db.stu.totalIndexSize()
- db.stu.totalIndexSize(0)
- db.stu.totalIndexSize(1)
- db.stu.totalIndexSize("a")
四、删除索引。
db.collections.dropIndex(“name_1”)
db.collections.dropIndexes() //主键索引不会删除
五、重建索引。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。