返回指定数量的内容
db.COLLECTION_NAME.find().limit(NUMBER)
db.COLLECTION_NAME.find().limit(NUMBER).skip(NUMBER)跳过指定内容
排序
db.COLLECTION_NAME.find().sort({指定排序字段:1}) 1为升序,-1为降序
索引
创建索引
db.collection.createIndex(添加索引的字段,options) 3.0以后版本
db.collection.ensureIndex(keys, options) 通用
1 为指定按升序创建索引,如果你想按降序来创建索引指定为 -1
options可接受:
background 后台创建,默认false,创建索引过程中会阻塞其他的操作,后台创建不会
unique 唯一索引 默认flase
name 索引名称
查看索引
db.cll.getIndexes()
删除索引
删除所有:db.col.dropIndexes()
删除指定:db.col.dropIndex("索引名称")
聚合处理数据(诸如统计平均值,求和等),并返回计算后的数据结果。
db.COLLECTION_NAME.aggregate(AGGREGATE_OPERATION)
聚合管道:处理输入文档并输出,可使用多个则前一的返回值作为后一的输入值
$project:修改输入文档的结构,可重命名,增加,删除域,也可创建计算结果嵌套文档
$match:过滤数据,只输出符合条件的文档 db.articles.aggregate( [{ $match : { score : { $gt : 70, $lte : 90 } } },{ $group: { _id: null, count: { $sum: 1 } } ] );
$limit:限制返回的文档数
$skip:限制返回文档数中跳过指定数量
$unwind:将文档中某一数组类型的字段拆成多条,每条包含数组中的一个值
$group:将集合中的文档分组
按字段分组,并对指定字段求和:
$sort:文档排序后输出
$geoNear:输出接近某一地理位置的有序文档
可使用的聚合表达式:
$sum 求和 db.mycol.aggregate([{$group : {_id : "$by_user", num_tutorial : {$sum : "$likes"}}}])
$avg 计算均值
$min 集合文档中对应值的最小值
$max 集合文档中对应值的最大值
$push 结果文档插入到一个数组中 db.mycol.aggregate([{$group : {_id : "$by_user", url : {$push: "$url"}}}])
$addToset 结果文档插入到一个数组中,但不创建副本
$frist 获取第一个文档
$last 获取第二个文档
备份与恢复
备份:mongodump-h要备份的主机地址 -d要备份的数据库名 -o 备份文件存放路径
eg:mongodump 默认备份当前主机27017端口test数据库 备份至bin/dump目录下
备份所有数据库则不指定数据库
恢复:mongorestore-h备份到指定服务器 -d备份到指定数据库 <备份文件存放路径>
--drop:恢复时,先删除数据库当前数据再恢复备份文件
<path> 放置到最后一个参数,和指定--dir 备份文件路径 作用相同