MongoDB-数据库和集合
在此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中的集合。
MongoDB | RDBMS |
---|---|
数据库 | 数据库 |
集合 | 表 |
文档 | 行 |
字段 | 列 |
嵌入式文档 | 连接表 |
主键(默认_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"。
好了,我们现在知道如何创建和删除数据库和集合。