MongoDB(三):数据库操做、集合操做

1. 数据库操做

看完前面的文章,你们应该把环境搭建好了,下面咱们就开始学习MongoDB的一些基本操做了。数据库

首先咱们要了解的一些要点:json

MongoDB将数据存储为一个文档,数据结构由键值对(key=>value)组成数组

MongoDB文档相似于JSON对象,字段值能够包含其余文档、数组、文档数组服务器

其次就是SQL术语和MongoDB术语的对比:数据结构

学过MySQL的同窗就很好对比了,三个主要的:数据库、集合、文档app

集合就是MySQL中的表yii

文档就是MySQL中的行学习

文档:就是一个对象,由键值对构成,是json的扩展Bson形式。ui

{'name':'guojing','gender':''}

集合:相似于MySQL中的表,储存多个文档,结构不固定,如能够储存以下文档在一个集合中。spa

{'name':'guojing','gender':''} {'name':'huangrong','age':'18'} {'book':'shuihuzhuan','heros':'108'}

数据库:是一个集合的物理容器,一个数据库中能够包含多个文档。

一个服务器一般有多个数据库。

1.1 建立数据库

MongoDB使用use DATABASE_NAME命令来建立数据库。若是指定的数据库DATABASE_NAME不存在,则该命令将建立一个新的数据库,不然返回现有的数据库。

语法:

use DATABASE_NAME

若是要建立一个名称为newdb的数据库,那么使用use DATABASE_NAME语句将以下所示:

> use newdb switched to db newdb

1.2 查看当前选择的数据库

输入db命令就可查询:

>db newdb

1.3 查看数据库列表

若是要检查数据库列表,请使用命令show dbs。

>show dbs local 0.000025GB test 0.00002GB

建立的数据库newdb不在列表中。要显示数据库,须要至少插入一个文档,空的数据库是不显示出来的。

>db.items.insert({"name":"yiibai tutorials"}) >show dbs local 0.00005GB test 0.00002GB newdb 0.00002GB

在 MongoDB 中默认数据库是:test。 若是您尚未建立过任何数据库,则集合/文档将存储在test数据库中。

1.4 删除数据库

MongoDB中的db.dropDatabase()命令用于删除现有的数据库。 

db.dropDatabase()

这将删除当前所选数据库。 若是没有选择任何数据库,那么它将删除默认的test数据库。

删除例子:

首先,使用命令show dbs检查可用数据库的列表。 

>show dbs local 0.00025GB newdb 0.0002GB test 0.00012GB >

若是要删除新数据库newdb,那么dropDatabase()命令将以下所示:

>use newdb switched to db newdb >db.dropDatabase() >{ "dropped" : "newdb", "ok" : 1 } >

如今检查数据库列表

>show dbs local 0.00025GB test 0.0002GB >

2. 集合操做

2.1 建立集合

MongoDB 的db.createCollection(name , options)方法用于在MongoDB 中建立集合。 

语法:

db.createCollection(name, options)

在命令中,name是要建立的集合的名称。options是一个文档,用于指定集合的配置。

options参数是可选的,所以只须要指定集合的名称。 如下是可使用的选项列表:

在插入文档时,MongoDB首先检查上限集合capped字段的大小,而后检查max字段。

例子: 

没有使用选项的createCollection()方法的基本语法以下 :

>use test switched to db test >db.createCollection("mycollection") { "ok" : 1 } >

可使用命令show collections检查建立的集合。

>show collections mycollection

如下示例显示了createCollection()方法的语法,其中几个重要选项

> db.createCollection("mycol", {capped : true, autoIndexId : true, size : 6142800, max : 10000 }) { "ok" : 1 } >

在MongoDB中,不须要建立集合。当插入一些文档时,MongoDB 会自动建立集合。

>db.newcollection.insert({"name" : "yiibaitutorials"}) >show collections mycol newcollection mycollection >

2.2 删除集合

MongoDB 的db.collection.drop()用于从数据库中删除集合。

语法:

db.COLLECTION_NAME.drop()

例子:

首先,检查数据库test中可用的集合。

>use test switched to db test > show collections mycol mycollection newcollection >

如今删除名称为mycollection的集合。

>db.mycollection.drop() true >

再次检查当前数据库的集合列表,以下:

> show collections mycol newcollection >