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 // 启动选项,主从模式

你可能感兴趣的:(MongoDB 基本命令)