mongodb的基本操作

1. 操作数据库命令
查看当前的数据库:db
查看所有的数据库:show dbs /show databases
使用或创建database:use 库名
显示当前数据库状态:db.stats()
当前数据库版本:db.version()
更多命令学习:db. 按两下tab
2. 集合操作
查看集合:show collections
删除集合:db.集合名称.drop()
创建集合:db.createCollection(“bike”)
mongo中的数据类型:
1)Object ID: ⽂档ID :objectID是⼀个12字节的⼗六进制数
2)String: 字符串, 最常⽤, 必须是有效的UTF-8
3)Boolean: 存储⼀个布尔值, true或false
4)Integer: 整数可以是32位或64位, 这取决于服务器
5)Double: 存储浮点值
6)Arrays: 数组或列表, 多个值存储到⼀个键
7)Object: ⽤于嵌⼊式的⽂档, 即⼀个值为⼀个⽂档
8)Null: 存储Null值
9)Timestamp: 时间戳, 表示从1970-1-1到现在的总秒数
10)Date: 存储当前⽇期或时间的UNIX时间格式
3. 插入数据
例如:
db.bike.insert({"_id": 100001, “status”: 1, “desc”: “test”})
db.bike.insert({"_id": 100002, “status”: 1, “desc”: “test”})
4.保存数据
db.集合名称.save(document)
例:db.bike.save({"_id": 100002, “status”: 1, “desc”: “test”})
如果⽂档的_id已经存在则修改, 如果⽂档的_id不存在则添加
ps:与insert区别: insert如果存在直接报错
5. 查询
db.bike.find() 查所有
6. 更新
db.集合名称.update( ,,{multi: })
a)参数query:查询条件
b)参数update:更新操作符
c)参数multi:可选, 默认是false,表示只更新找到的第⼀条记录, 值为true表示把满⾜条件的⽂档全部更新
例:db.bike.update({"_id":100001},{“desc”:“updated”})
7. 删除
db.集合名称.remove(,{justOne: })
例:db.bike.remove( {"_id":100002})
8. 索引
查看当前db的索引: db.bike.getIndexes()
创建索引:db.bike.ensureIndex({“desc”:1})
删除索引:db.bike.dropIndex({“desc”:1})
mongo索引相关:https://www.cnblogs.com/yu-hailong/p/7631572.html
9. 权限

  1. 创建 admin库(第一次启动要创建):use admin
  2. 关于角色和权限:
    (1)Built-In Roles(内置角色):
    1)数据库用户角色:read、readWrite;
    2)数据库管理角色:dbAdmin、dbOwner、userAdmin;
  1. 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
    4)备份恢复角色:backup、restore;
    5)所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
    6)超级用户角色:root
    7)内部角色:__system
    // 这里还有几个角色间接或直接提供了系统超级用户的访问(dbOwner 、userAdmin、userAdminAnyDatabase)

角色的功能:
1)Read:允许用户读取指定数据库
2)readWrite:允许用户读写指定数据库
3)dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
4)userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
5)clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
6)readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
7)readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
8)readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
9)userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
10)dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
11)root:只在admin数据库中可用。超级账号,超级权限

案例:

  1. 创建所有数据库管理用户:
    use admin
    db.createUser({ user: “a”, pwd: “a”, roles: [{ role: “userAdminAnyDatabase”, db: “admin” }] })
  2. 创建单个数据库( test )用户:
    use test
    db.createUser( { user: “testa”, pwd: “testa”, roles: [{ role: “readWrite”, db: “test” }] } )
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值