结果集操作函数limit()、skip()、sort()
1.limit()函数和skip()函数
使用在查询函数find()后面:
db.collection.find().limit(2) //结果集中只显示最前面2条数据db.collection.find().skip(2) //结果集中跳过最前面2条数据,显示后面的数据db.collection.find().skip(x-1).limit(y-x+1) //结果集中显示第x~y条数据
2.sort()函数
使用在查询函数find()后面,用于结果集排序
sort({KEY:1}) //KEY表示指定排序的字段,1表示升序,-1表示降序db.collection.find().sort({ "_id":-1}) //结果集按照_id降序排序
注意:如果find()函数后面存在limit,skip和sort函数,执行顺序是先sort排序,再是skip过滤前面数据,最后是limit限制显示条数
索引
1.创建索引
db.collection.ensureIndex({name:1}) //在name字段上按升序创建一个索引(1.8版本之前使用creatIndex()函数)db.collection.ensureIndex({name:1,age:-1}) //复合索引,在name和age上添加索引,name按升序,age按降序db.collection.ensureIndex({name:1},{name:"nameIndex"}) //创建索引并命名为nameIndexdn.collection.ensureIndex({age:1},{name:"ageIndex",unique:true}) //创建age字段的唯一索引ageIndex
2.查询索引
db.collection.getIndexes() //查询collection集合中的所有索引
3.删除索引
db.collection.dropIndexes() //删除集合中的所有索引,但是MongoDB默认对_id存在一个索引"_id_",所以这个函数,不能删除"_id_"索引db.collection.dropIndex("index_name") //删除集合中name为index_name的索引
MongoDB聚合之MapReduce学习