上一篇:MongoDB(2)—(Linux版本)MongoDB下载与安装
在linux上面启动MongoDB服务之后,再在从windows版本的bin目录下打开windows命令窗口,输入mongo --host=IP地址
连接MongoDB服务(或者也可以使用MongoDB图形化界面工具Compass(类似于Navicat)来连接MongoDB服务)。我使用的是第一种:用windows命令窗口连接的MongoDB服务。
数据库相关操作 |
1.选择和创建数据库
use 数据库名称 //use trade_db
如果trade_db
数据库存在,则使用此数据库,如果不存在trade_db
,则新建数据库trade_db
。
2.查看数据库
show dbs
或者
show databases
这些命令只会显示自己有权限查看到的数据库,没有权限的数据库不会显示。
注意:
我们在使用命令use trade_db
之后,再使用命令show dbs
查看数据库的之后会发现,总是只有下面这三个自带的库,就好像trade_db
这个新的数据库没有被创建一样。
这里涉及到MongoDB的存储机制:
MongoDB数据的存储分为两部分,一部分是内存
,一部分是可以持久化的磁盘
,因为我们使用use trade_db
这个命令实际上是创建了一个新的空数据库,里面没有数据,所以它是存在内存中,所以我们查不出来trade_db
,但是当这个数据库中存在一个集合,也就是有数据的时候,它就会被持久化到磁盘
中,我们使用show dbs
就可以查出来了。
3.查看当前正在使用的数据库
db
MongoDB里面默认使用的数据库是test
,意思是如果没有选择要使用的数据库,则默认为test
库。
4.数据库命名规范
【强制】数据库名称全部小写
【强制】数据库名称不超过64字符
【强制】禁止使用_以外的特殊字符
【强制】禁止使用数字打头的数据库名
【强制】禁止与保留的数据库重名,如: admin,local,config等
5.MongoDB自带的数据库
1.admin
相当于是一个root
权限数据库,当MongoDB启动autho
选项的时候,用户需要创建数据库账号,而访问数据库的时候就根据账号来鉴定自己所拥有的权限,账号信息和角色信息就存贮在admin
数据库中。
admin
数据库中虽然可以存储业务数据,但是强烈不建议用来存储业务数据。因为admin
数据库的写入操作锁级别只能达到DB
级别,不支持多个集合并发写入,在写入的时候也不支持并发读取,如果使用admin
数据库来存储业务数据,则可能会有性能瓶颈问题。
2.local
此数据库中的数据只会存储在本地而不会同步到副本集的其他节点上。该数据库主要用来存储副本集的配置信息和oplog信息,这些是每个mongod进程独有的,不会同步到其他副本集中其他节点上。
所以很显然,业务数据也不建议放在此数据库中。
3.config
当Mongo用于分片设置的时候,config
数据库在内部使用,用于保存分片的相关信息。
6.删除数据库
db.dropDatabase() //此命令主要用于删除已经持久化的数据库
操作如下,先使用需要删除的数据库,然后输入删除数据库的命令
显示OK
表示删除成功。