MongoDB(数据库&集合操作 安全认证)

目录

Mongo shell使用

JavaScript支持

mongo shell常用命令

数据库操作

查看所有库

切换到指定数据库,不存在则创建

删除当前数据库

集合操作

查看集合

创建集合

删除集合

安全认证

创建管理员账号

常用权限

用户认证

创建应用数据库用户


Mongo shell使用

mongo是MongoDB的交互式JavaScript Shell界面,它为系统管理员提供了强大的界面,并为开发人员 提供了直接测试数据库查询和操作的方法。

连接shell:

mongo --port=27017

 --port:指定端口,默认为27017

--host:连接的主机地址,默认127.0.0.1

JavaScript支持

mongo shell是基于JavaScript语法的,MongoDB使用了SpiderMonkey作为其内部的JavaScript解释器 引擎,这是由Mozilla官方提供的JavaScript内核解释器,该解释器也被同样用于大名鼎鼎的Firefox浏览 器产品之中。SpiderMonkey对ECMA Script标准兼容性非常好,可以支持ECMA Script 6。可以通过下 面的命令检查JavaScript解释器的版本:

interpreterVersion()

mongo shell常用命令

命令说明
show dbs  |  show databases显示数据库列表
use 数据库名切换数据库,若不存在,则创建数据库
db.dropDatabases()删除数据库
show conllections  |  show tables显示当前数据库的集合列表
db.集合.stats()查看集合详情
db.集合.drop()删除集合
show users显示当前数据库的用户列表
show roles显示当前数据库的角色列表
show profile显示最近发生的操作
load("xxx.js")执行一个JavaScript脚本文件
exit |  quit()退出当前shell
help查看mongodb支持哪些命令
db.help()查询当前数据库支持的方法
db.集合.help()显示集合的帮助信息
db.version()查看数据库版本

数据库操作

查看所有库

show dbs

切换到指定数据库,不存在则创建

use test

删除当前数据库

db.dropDatabase()

集合操作

查看集合

show collections

创建集合

db.createCollection("emp")

 创建集合的语法

db.createCollection(name,options)

options参数

字段类型描述
capped布尔(可选)如果为true,则创建固定集合(有固定大小的集合)当达到最大值时,它会自动覆盖最早的文档。
size数值(可选)为固定集合指定一个最大值(以字节计),如果capped为true,也要指定该字段
max数值(可选)指定集合中包含的最大数量

删除集合

db.emp.drop()

安全认证

创建管理员账号

1、切换到admin库

use admin

2、创建管理员 fox

db.createUser({user:"fox",pwd:"fox",roles:["root"]})

3、查看所有用户信息

show users

4、删除用户

db.dropUser("fox")

常用权限

权限名描述
read允许用户读取指定数据库
readWrite允许用户读写指定数据库
dbAdmin允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统 计或访问system.profile
dbOwner允许用户在指定数据库中执行任意操作,增、删、改、查等
userAdmin允许用户向system.users集合写入,可以在指定数据库里创建、删 除和管理用户
clusterAdmin只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管 理权限
readAnyDatabase只在admin数据库中可用,赋予用户所有数据库的读权限
readWriteAnyDatabase只在admin数据库中可用,赋予用户所有数据库的读写权限
userAdminAnyDatabase只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
dbAdminAnyDatabase只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限
root只在admin数据库中可用。超级账号,超级权限

用户认证

#进入admin库
use admin
#用户认证,返回1表示认证成功
db.auth("fox","fox")

创建应用数据库用户

use appdb
db.createUser({user:"appdb",pwd:"fox",roles:["dbOwner"]})

 默认情况下,MongoDB不会启用鉴权,以鉴权模式启动MongoDB

mongod -f /mongodb/conf/mongo.conf --auth

启用鉴权之后,连接MongoDB的相关操作都需要提供身份认证。

mongo 192.168.65.174:27017 -u fox -p fox --authenticationDatabase=admin
#ip换成自己的

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值