美文网首页我爱编程
MongoDB 基本命令

MongoDB 基本命令

作者: muchs | 来源:发表于2018-03-07 10:47 被阅读31次
    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 基本命令

        本文链接:https://www.haomeiwen.com/subject/naxjfftx.html