MongoDB:数据库操作集合操作

Posted 爱编程的小灰灰

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MongoDB:数据库操作集合操作相关的知识,希望对你有一定的参考价值。

1. 数据库操作

看完前面的文章,大家应该把环境搭建好了,下面我们就开始学习MongoDB的一些基本操作了。

首先我们要了解的一些要点:

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

MongoDB文档类似于JSON对象,字段值可以包含其他文档、数组、文档数组

其次就是SQL术语和MongoDB术语的对比:

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

集合就是MySQL中的表

文档就是MySQL中的行

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

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

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

{\'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
>

以上是关于MongoDB:数据库操作集合操作的主要内容,如果未能解决你的问题,请参考以下文章

MongoDB——MongoDB安装+增删改查操作

MongoDB——MongoDB安装+增删改查操作

MongoDB操作

100天精通Python(进阶篇)——第40天:pymongo操作MongoDB数据库基础+代码实战

MongoDB集合的操作

MongoDB- 简单操作命令