MongoDB-数据库和集合

时间:2020-02-23 14:40:49  来源:igfitidea点击:

在此MongoDB教程中,我们将学习数据库,集合和文档。

什么是文档(document)?

文档是键值对。
它是JSON(JavaScript对象表示法)。

以下示例代表一个学生文档。

{
  "student_id": "s0001",
  "first_name": "",
  "last_name": ""
}

" student_id"," first_name"和" last_name"被称为文档的字段或者键,而" s0001"," "和" "分别是给定字段的值。

如果您熟悉RDBMS(例如MySQL),则MongoDB文档就像RDBMS表中的一行。

什么是集合(collection)?

集合是一组文档。

一个集合可以包含零个或者多个文档。

将MongoDB集合视为RDBMS中的表。

什么是数据库?

数据库是一组有组织的集合。

一个MongoDB数据库可以有一个或者多个集合。

一台MongoDB服务器可以有一个或者多个数据库,并且每个数据库都保存为一个文件。

MongoDB和RDBMS

在下表中,我们可以看到MongoDB和RDBMS之间的映射。

例如,RDBMS中的表是MongoDB中的集合。

MongoDBRDBMS
数据库数据库
集合
文档
字段
嵌入式文档连接表
主键(默认_id)主键

建立资料库

要在MongoDB中创建数据库,我们使用use命令,后跟数据库名称。

在下面的示例中,我们将创建名称为" awesomedb"的数据库。

> use awesomedb
switched to db awesomedb

如果数据库存在,则可以使用了。
如果数据库不存在,则会创建它。

显示当前选择的数据库

为了检查当前选择的数据库,我们使用db命令。

> db
awesomedb

切换到数据库

要切换到数据库,我们还使用use命令。

在下面的示例中,我们将切换到名为" mydb"的数据库。

> use mydb
switched to db mydb

如果我们未明确选择数据库,则默认情况下会选择" test"数据库。

要检查这一点,只需注销并重新登录到您的MongoDB服务器,而不选择任何数据库,请运行命令db,它将显示test作为所选数据库。

因此,在开始工作之前,请确保已选择所需的数据库。

列出所有数据库

要列出所有数据库,我们使用show dbs命令。

> show dbs
mydb             0.001GB
anotherdb        0.023GB

如果您已经创建了一个数据库,但是里面没有任何东西,那么当您运行show dbs命令时,它不会被列出。

删除数据库

要删除(删除)数据库,我们使用db.dropDatabase()命令。

上面命令中的db代表当前选择的数据库。

在下面的示例中,当前选择的数据库是" anotherdb"。
因此,要删除(删除)它,我们将运行db.dropDatabase()命令。

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

创建集合

为了在数据库内部创建一个集合,我们首先切换到该数据库,然后运行db.createCollection(" collection-name")命令。

在下面的示例中,我们将在awesomedb数据库中创建users集合。

> db.createCollection('users')
{ "ok" : 1 }

列出所有集合

为了列出数据库中的所有集合,我们使用" show collections"命令。

> show collections
users

删除集合

要删除(删除)集合,我们使用drop()方法。

在以下示例中,我们删除(删除)" users"集合。

> db.users.drop()
true

成功后,drop()方法将返回true。
否则,它将返回" false"。

好了,我们现在知道如何创建和删除数据库和集合。