MongoDB常用命令

> show dbs                  #显示数据库列表
> show collections        #显示当前数据库中的集合(类似关系数据库中的表)
> show users               #显示用户
> use <db name>        #切换当前数据库,如果数据库不存在则创建数据库。
> db.help()                 #显示数据库操作命令,里面有很多的命令
> db.foo.help()            #显示集合操作命令,同样有很多的命令,foo指的是当前数据库下,一个叫foo的集合,并非真正意义上的命令
> db.foo.find()            #对于当前数据库中的foo集合进行数据查找(由于没有条件,会列出所有数据)
> db.foo.find({a: 1})   #对于当前数据库中的foo集合进行查找,条件是数据中有一个属性叫a,且a的值为1
> db.dropDatabase()   #删除当前使用数据库
> db.cloneDatabase("127.0.0.1")                            #将指定机器上的数据库的数据克隆到当前数据库
> db.copyDatabase("mydb", "temp", "127.0.0.1")    #将本机的mydb的数据复制到temp数据库中
> db.repairDatabase() #修复当前数据库
> db.getName()          #查看当前使用的数据库,也可以直接用db
> db.stats()                #显示当前db状态
> db.version()            #当前db版本
> db.getMongo()        #查看当前db的链接机器地址
> db.serverStatus()    #查看数据库服务器的状态

1、添加管理员账号

> use admin
> db.createUser({user: "admin", pwd: "admin", roles: ["root"]})
> db.createUser({user: "admin", pwd: "admin", roles: [{role: "userAdminAnyDatabase", db: "admin"}]})

2、添加普通用户(假定数据库名是test)

> use test
> db.createUser({user: "test", pwd: "test", roles: [{role: "readWrite", db: "test"}]})

role(角色)

简要说

数据库用户角色(DB User Roles)

read readWrite

为某个数据库创建一个用户, 分配该数据库的读写权力

数据库管理员角色(DB Admin Roles)

dbAdmin  dbOwner  userAdmin

拥有创建数据库, 和创建用户的权力

集群管理角色(Culster Administration Roles)

clusterAdmin  clusterManager  clusterMonitor  hostManager

管理员组, 针对整个系统进行管理

备份还原角色(Backup and Restoration Roles)

backup  restore

备份数据库, 还原数据库

所有数据库角色(All-Database Roles)

readAnyDatabase  readWriteAnyDatabase  userAdminAnyDatabase  dbAdminAnyDatabase

拥有对admin操作的权限

Superuser Roles(超级管理员)

root

dbOwner userAdmin userAdminAnyDatabase这几个角色角色提供了任何数据任何用户的任何权限的能力,拥有这个角色的用户可以在任何数据库上定义它们自己的权限

3、删除用户

> db.dropUser('admin')

4、开启权限验证

在mongod.conf中的 security 节点中添加

security:
  authorization: enabled

并重启mongod服务

如果从命令行启动数据库需加 --auth 参数

# mongod --auth

命令行使用开启用户权限的数据库

> use test
> db.auth('test', 'test')
1
> show collections

使用mongoose链接开启用户权限的数据库

1、使用mongoose.connect和mongoose.createConnection

db = mongoose.createConnection('mongodb://test:test@localhost:27017/test');

2、使用Connection#open

db.open('localhost', 'test', 27017, {user:'test', pass:'test'});

注意:如果链接有用户权限的数据库,port端口号是必须的,哪怕是默认的27017。

最新文章

  1. SharePoint 解决打开浏览器自动登录
  2. Android四种基本布局(LinearLayout \ RelativeLayout \ FrameLayout \ TableLayout)
  3. Java开发中经典的小实例-(字符串倒序输出)
  4. 在Windows上运行Tomcat
  5. linux centos5.7(32bit) oracle 10g oracle11g
  6. factory工厂模式之简单工厂SimpleFactory
  7. 真正的轻量级WebService框架——使用JAX-WS(JWS)发布WebService
  8. HBase学习笔记
  9. Python 基础【第八篇】变量
  10. Linux Shell编程(20)——基本命令
  11. spring中涉及事务(bean中ref与local)
  12. File System Minifilter Drivers(文件系统微型过滤驱动)入门
  13. HTTP协议4之缓存--转
  14. Data Recovery Advisor (DRA)
  15. java中可以出现的中文乱码的集中解决
  16. Vue.extend和Vue.component的联系与差异
  17. rdesktop方法(Linux to Windows)
  18. Spark2 Model selection and tuning 模型选择与调优
  19. PAT 甲级 1105 Spiral Matrix
  20. logrotate日志不轮转呢?_新日志size0

热门文章

  1. .net core 3.0 swagger
  2. Umi 小白纪实(一)—— 创建项目&amp;常用配置
  3. 剑指offer-面试题40-最小的k个数-最大堆
  4. JavaDay11
  5. P4802 [CCO 2015]路短最
  6. hdu 1087 Super Jumping!(类最长上升子序列)
  7. &lt;转载&gt; 撤销 git reset 操作
  8. js面向对象怎么理解
  9. Chrome 浏览器相关
  10. Linux虚拟文件系统–VFS简介