MongoDB 基本命令

show dbs
show collections
show users     //显示当前数据库用户
mongostat     //显示数据库状态
mongotop     //显示集合I/O状态
db.serverStatus().connections     //查看连接数
db.service_cnt.stats().count
db.startup_log.find().sort({"_dt":-1}).limit(1).pretty()     //查看最后一条记录,以易读方式显示。
db.runCommand({"buildInfo":1})     //查看mongo版本。
db.serverBuildInfo()
db.runCommand( { getParameter : '*' } )     //查看配置信息
db.runCommand( { getCmdLineOpts: 1 } )
db.runCommand( { logRotate : 1 } )     //轮换日志
use admin
db.currentOp() //查看当前正在进行的操作
db.killOp(opid) //终止一个操作
db.copyDatabase( fromdb, todb, fromhost, username, password )     // 复制数据库
db.copyDatabase("db1","db2","127.0.0.1:27017") // 无验证
mongodump --port 27017 -o /data/mongoBak/ // 备份整库
mongodump --port 27017 -d dbname -o /data/mongoBak/ // 备份单库
mongodump -h 127.0.0.1 -p 27017 -d dbname -o /data/mongoBak/ // 备份单库,可远程备份
mongodump --port 27017 -d dbname -u -p -o /data/mongoBak/ // 备份单库
mongorestore --port 27017 /data/mongoBak/ // 恢复备份

// 导出符合条件的数据
mongoexport --port 27017 -u usr -p 'passwd' -d dbname -c comment -q '{id:456}' -o comment.json
// 导入语句
mongoimport --port 27017 -u usr -p 'passwd' -d dbname -c comment < comment.json

it // 显示更多信息
db // 查看当前数据库名。
use test // 切换数据库。
db.currentOp() // 了解服务器当前操作。
db.killOp() // 终止操作执行。
Object.bsonsize() // 查看文档大小。
db.shutdownServer() // 停止MongoDB。
mongo xxx.js // 直接执行js。
load("xxx.js") // 执行js。
db.test.stats() // 查看集合状态。
db.stats() // 查看数据库状态。

db.test.find // 查看find用法。
db.test.find() // 查看多个文档。
db.test.find().explain() // 显示查询过程详情
db.test.findOne() // 查看一个文档。
db.test.find({time:/^2017-03-07/i}) // 正则匹配
db.test.find({"age":{"$gte":21,"$lte":30}}) // 区间查询
db.test.find().sort({"_id":-1}).limit(5) // 查询集合中最后五条记录
db.test.find({"id":177827},{"id":1,"name":1,"_id":0})   // 返回指定的键,只返回id与name,不返回_id。
db.test.find({time:/^2017-03-07/}) // 在node中使用注意^
db.test.find({'time':{$regex:'2017-03-07'}}

db.test.update() // 更新文档。
db.test.remove() // 删除文档。
db.test.remove({"id":{$ne:125709}}) // 删除非125709的所有数据。
db.test.remove({"id":{$nin:[51800,64137]}})
db.test.drop() // 清空集合。删除速度比remove快
db.dropDatabase() // 删除数据库

db.test.count() // 统计集合中文档总数。
db.test.distinct() // 查不同
db.test.distinct("id",{"day":"2016-12-04"}).length

db.test.aggregate({$group:{_id:"$dt",count:{$sum:1}}}) // 查看集合中每天的数据量
db.test.aggregate({$match:{dt:{$gte:20170602}}},{$group:{_id:"$dt",count:{$sum:1}}}) // 带匹配条件的聚合
db.test.aggregate({$group:{_id:"$id",count:{$sum:1}}},{$sort:{count:-1}}) // group排序
db.test.aggregate([{ '$project': { id: 1 } }])
db.test.aggregate([{ '$project': { id: 1, time: { $substr: ["$time", 0, 10] } } }])
db.test.aggregate([{'$project':{id:1,time:{ $substr: [ "$time", 0, 10 ] }}},{$group:{_id:{time:'$time',id:'$id'}}}])
db.test.aggregate([{'$project':{id:1,time:{ $substr: [ "$time", 0, 10 ] }}},{$group:{_id:{time:'$time',id:'$id'}}},{$group:{_id:'$_id.id',sum:{$sum:1}}},{$sort:{sum:-1}}])

db.test.getIndexes() // 查看索引信息。
db.test.ensureIndex({"username":1}) // 创建索引,1代表升序
db.test.ensureIndex({"username":1,"age":1}) // 创建复合索引
db.test.ensureIndex({"username":1},{background:true})
db.test.ensureIndex({"username": "hashed"}) // 创建哈希索引
db.test.dropIndex({"dt":1,"category_3_id":1}) // 删除一个索引

db.serverCmdLineOpts() // 查看服务器的命令行参数。
db.runCommand( { logRotate : 1 } ) // 日志清理
db.changeUserPassword("user","pwd") // 修改用户密码
use db
db.dropUser("sojoyoo") // 删除用户,删除前需要选择相应数据库

sh.status() // 查看集群状态
sh.status("verbose") // 显示完整集群信息
sh.enableSharding("db") // 将数据库db分片
db.runCommand({listshards:1}) // 列出所有分片
sh.shardCollection("test.users",{"username":1}) // 对集合users分片
cluster.stop() // 关闭集群。
"age":Math.floor(Math.random()*120) // 随机插入小于120的数字

./mongo test --eval "printjson(db.t1.count())"  // 直接执行语句
./mongo --quiet t1_count.js // 直接执行文件。 --quiet能屏蔽一些登录信息
--master和--slave // 启动选项,主从模式
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,445评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,889评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,047评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,760评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,745评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,638评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,011评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,669评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,923评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,655评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,740评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,406评论 4 320
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,995评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,961评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,023评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,483评论 2 342

推荐阅读更多精彩内容