美文网首页
MongoDB常用命令

MongoDB常用命令

作者: Codifier | 来源:发表于2019-10-30 14:33 被阅读0次
    1. 查看所有数据库
    show dbs
    
    1. 切换数据库
    use 数据库名
    
    1. 查看当前数据库下的所有用户
    show users
    
    1. 切换到admin并验证权限
    use admin
    db.auth('用户名','密码')
    
    1. 查看系统所有用户
    db.system.users.find().pretty()
    
    1. 为某个数据库创建用户并分配权限
    use 数据库
    db.createUser({
        user: "用户名",
        pwd: "密码",
        roles: [{role: "权限",db: "数据库"}]
    })
    

    例:

    use user
    db.createUser({
        user:"admin",
        pwd:"123456",
        roles:[{role:"userAdmin", db:"user"}]
    })
    

    角色说明:

    • Read:允许用户读取指定数据库
    • readWrite:允许用户读写指定数据库
    • dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
    • userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
    • clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
    • readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
    • readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
    • userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
    • dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限
    • root:只在admin数据库中可用,超级账号,超级权限
    1. 删除某个库的用户
    use 数据库
    db.dropUser("用户名");
    
    1. 删除所有库中的某个用户
    db.system.users.remove({user:"用户名"});
    
    1. 查看当前处于哪个数据库
    db
    
    1. 创建数据库
    use 数据库名
    
    1. 删除当前数据库
    db.dropDatabase()
    
    1. 创建集合
    db.createCollection("集合名")
    
    1. 删除集合
    db.集合名.drop()
    
    1. 插入数据
    db.集合名.insert(bson字符串)
    
    1. 创建超级用户
    db.createUser({
        user:"用户名",
        pwd:"密码",
        roles:[{role:"root", db:"admin"}]
    })
    
    1. 查询某个Collection的所有记录数
    db.getCollection('集合名称').find({}).count()
    
    1. 生成索引
    db.getCollection('集合名称').createIndex({"索引名":升序或降序})
    

    例:

    db.getCollection('user').createIndex({"userId":1})
    
    1. 创建唯一索引
    db.getCollection('集合名称').createIndex({"索引名":升序或降序},{unique:true})
    
    1. 查看当前集合索引
    db.getCollection('集合名称').getIndexes()
    
    1. 删除所有索引
    db.getCollection('集合名称').dropIndexes()
    
    1. 删除指定索引
    db.getCollection('集合名称').dropIndex("索引名")
    
    1. 删除大于某个数的所有记录
    db.getCollection('集合名称').deleteMany({"字段名":{"$gte":数}})
    

    例:

    db.getCollection('user').deleteMany({"age":{"$gte":20}})
    
    1. 回收磁盘空间
    db.repairDatabase()
    

    相关文章

      网友评论

          本文标题:MongoDB常用命令

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