mongoDB

  • [ 常见数据类型 ]
    • https://docs.mongoing.com/the-mongo-shell/data-types-in-the-mongo-shell:wangwu
    • Object ID: 文档ID,数据ID,数据的主键
    • String: 字符串
    • Bollean: 布尔
    • Integer: 整数
    • Double: 浮点数
    • Arrays: 数组 / 列表
    • Object: mongodb 中的一条数据 / 文档,即文档嵌套
    • Null: null
    • Timestrmp: 时间戳,1970-1-1 到现在的总秒数
    • Date: 存储当前日期或时间的 UNIX 时间格式

  • [ 管理员 ]
    • 创建管理员
    • admin 数据库中的是超级管理员,其他库中的是一般管理员
    • 超级管理员可以创建其他管理员
    • 在哪个数据库创建的管理员,只能在哪个数据库中进行登录
    • 在非 admin 中创建的用户,只能赋予其所在数据库的相关权限
      > use admin
      
      // 创建用户(用户名 密码 权限列表)
      > db.createUser({user:"username", pwd: "password", roles: ["root"]})
    
      // 安全模式启动数据库
      $ mongod --dbpath path --auth
      > db.auth('username', "password")
    
      > use dbLisi
      // 只读管理员
      > db.createUser(user: "lisi", pwd: "lisi", roles: ["read"])
    
      // 读写管理员
      > db.createUser(user: "wangwu", pwd: "wangwu", roles: ["readWrite"])
    
    • 在 admin 中创建的超级管理员,可以赋予其 root 超级权限,或者是对其他数据库的权限列表
      > use admin
      > db.auth("group", "group")
      // 管理员 group 可以在 group01 数据库中读取数据,可以在 group02 数据库中写入数据
      > db.createUser(user:"group", pwd:"group", roles: [{role: "read", db: "group01"},{role: "write", db: "group02"}])
    
    • 在哪个数据库中的管理员,只能在哪个数据库中删除,普通管理员无法删除自己
      > use admin
      > db.auth("admin", "admin")
      > db.dropUser("lisi")
    

  • [ 数据库操作 ]
  •   // 查看数据库列表
      > show dbs
    
      // 创建或者进入数据库
      > use dbname
    
      // 查看数据库中的集合列表
      > show collections
      // or
      > show tables
    
      // 删除数据库
      > use dbname
      > db.dropDatabase()
    

  • [ 集合操作 ]
  •   // 创建集合
      > use dbname
      > db.createCollection("collectionName", options)
    
      // 删除集合
      > db.collectionName.drop()
    
      // 查看集合中的文档列表
      > db.collectionName.find()
    
      // 格式化查看
      > db.collectionName.find().pretty()
    

  • [ 文档操作 ]
  •   db.collectName.insert(document)
    
    posted @ 2024-03-19 09:44  anch  阅读(1)  评论(0编辑  收藏  举报