基础命令(2)

2020-07-26  本文已影响0人  啊哈_6377

返回指定数量的内容

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 备份文件路径 作用相同

上一篇 下一篇

猜你喜欢

热点阅读