MongoDB是Nosql文档存储数据库的重要一员是非关系型数据库,与传统的数据库(MySQL)相比,在数据操作的三高要求以及Web2.0的网站需求面前,MongoDB略高一筹,它支持的数据类型结构是较松散的,是一种类似JSON格式的BSON格式
三高:{对数据库高并发读写需求};{对海量数据的高效存储和访问需求};{对数据库的高可扩展性和高可用性},任何服务都不会也不应该是单一的技术选型方案,那就一定会有它的缺点,它对事务性要求不高,可存储一些价值较低的数据,如果涉及到重要的信息以及交易相关的不建议使用
接下来我们简单介绍一下MongoDB数据库的三个默认库(自带的三个数据库),然后开始进行MongoDB的操作:
admin:从权限来看的话,和MySQL里面的root一个意思,如果将某个用户添加到这个数据库,这个用户就会自动继承所有数据库的权限,一些特定的服务端命令也只能从这个数据库运行(例如关闭服务器等操作)
local:这个数据库永远不会被复制,我们可以用来存储限于本地单台服务器的任意集合,我们在部署集群和分片的时候会使用到
config:当Mongo用于分片设置时,config数据库在内部使用,用来保存分片的相关信息
目录
一.新建数据库
二.查看数据库
三.删除数据库
四.创建集合
五.删除集合
一.新建数据库
语法:use DATABASE_NAME
我们来刨析一下语法:
use:用于切换/创建数据库(如果不存在该数据库,那么就执行创建操作;如果存在该数据库,那么就执行切换数据库操作,切换到指定数据库)
DATABASE_NAME:数据库的名称,我们来举一个例子,输入命令:
use articledb
这样就实现了新建了一个名为 articledb的数据库
二.查看数据库
语法:show dbs
语法:db
show dbs:查看所有的数据库名称和存储情况(dbs => databases)
执行命令,我们可以查看所有数据库:
show dbs
(*use命令创建的数据库存储与内存中,如果数据库中没有任何数据,show dbs命令是无法查看use命令所创建的articledb数据库)
db:表示当前数据库对象,如果想执行db命令查看当前所在的数据库,必须先切换到指定的数据库:
use articledb
db
三.删除数据库
语法:db.dropDatabase()
db:当前的数据库对象
dropDatabase():用于删除当前数据库的一个方法(删除前同样需要去切换到要删除的数据库,为了防止误操作删掉,我们可以在删除前执行db命令,验证一下当前数据库是否为想要删除的数据库)
db
//我们先db一下验证是否为要删除的数据库
//如果不是,执行切换操作
use articledb
//切换完毕,我们再次验证一下
db
//验证没有问题,我们执行删除操作
db.dropDatabase()
四.创建集合
语法:db.createCollection(COLLECTION_NAME,[OPTIONS])【显示创建集合】
OPTIONS可省略
语法:db.COLLECTION_NAME.insert(DOCUMENT)【隐式创建集合】
db:当前数据库
createCollection():创建集合的方法
DOCUMENT:文档
COLLECTION_NAME:集合名称
OPTIONS:集合配置
insert():向集合中插入文档的一个方法
我们显示创建一个名为myCollection的集合来作为例子:
db.createCollection("myCollection")
//创建好之后,我们可以来查看一下,是否创建成功
show collections
五.删除集合
语法:db.COLLECTION_NAME.drop()
db:当前数据库对象
COLLECTION_NAME:集合名称
drop():删除集合的一个方法
我们将刚创建的myCollection集合删除掉,来作为例子:
db.mycollection.drop()