MongoDB 创建数据库

在MongoDB中,数据库的创建是一个简单的过程,当你首次向MongoDB中插入数据时,如果数据库不存在,MongoDB会自动创建它。

我们只需选择一个数据库名称,并开始向其中插入文档即可。

语法

当你使用 use 命令来指定一个数据库时,如果该数据库不存在,MongoDB将自动创建它。

MongoDB 创建数据库的语法格式如下:

复制代码
use DATABASE_NAME

如果数据库不存在,则创建数据库,否则切换到指定数据库。

实例

以下实例我们创建了数据库 runoob:

复制代码
> use runoob
switched to db runoob
> db
runoob
> 

执行 use runoob 命令后,MongoDB 将创建名为 runoob 的新数据库。此时,你可以开始在这个数据库中创建集合和插入文档。

如果你想查看所有数据库,可以使用 show dbs 命令:

复制代码
> show dbs
admin   0.000GB
config  0.000GB
local   0.000GB
> 

可以看到,我们刚创建的数据库 runoob 并不在数据库的列表中, 要显示它,我们需要向 runoob 数据库插入一些数据。

复制代码
> db.runoob.insertOne({"name":"菜鸟教程"})
WriteResult({ "nInserted" : 1 })
> show dbs
admin   0.000GB
config  0.000GB
local   0.000GB
runoob  0.000GB

创建集合

创建数据库后,通常需要在其中创建集合(collections),以存储文档(documents)。

集合类似于关系数据库中的表,以下是创建集合的步骤:

使用 use 命令指定数据库。

使用 db.createCollection() 方法创建集合。

实例

use myNewDatabase

db.createCollection("myNewCollection")

上述命令将在 myNewDatabase 数据库中创建一个名为 myNewCollection 的新集合。

查看数据库列表

要查看当前 MongoDB 实例中所有数据库的列表,可以使用 show dbs 命令:

复制代码
show dbs

查看当前数据库

要查看当前正在使用的数据库,可以使用 db 命令:

复制代码
db

删除数据库

如果你需要删除数据库,可以使用 db.dropDatabase() 方法:

复制代码
use myDatabase
db.dropDatabase()

上述命令将删除当前正在使用的 myDatabase 数据库及其所有集合。

默认数据库

MongoDB 中默认的数据库为 test,如果你没有创建新的数据库,集合将存放在 test 数据库中。

当您通过 shell 连接到 MongoDB 实例时,如果未使用 use 命令切换到其他数据库,则会默认使用 test 数据库。

例如,在启动 MongoDB 实例并连接到 MongoDB shell 后,如果您开始插入文档而未显式指定数据库,MongoDB 将默认使用 test 数据库。

实例

use test

db.myCollection.insertOne({ name: "Alice", age: 30 })

在这个例子中,如果 test 数据库不存在,则 MongoDB 将自动创建它。

需要注意的是,默认数据库仅在特定情况下才会使用。在实际开发中,您通常会选择自己创建的数据库来存储数据。

注意: 在 MongoDB 中,集合只有在内容插入后才会创建,就是说,创建集合(数据表)后要再插入一个文档(记录),集合才会真正创建。

注意事项

  • 数据库名不能包含空格、点(.)或美元符号($)。
  • 数据库的创建是自动的,不需要显式创建,除非你需要在创建时指定特定的配置选项。
  • 在MongoDB中,只有在数据库中至少有一个集合时,数据库才会在 show dbs 命令的输出中显示。
相关推荐
惊起白鸽4502 小时前
MySQL全量,增量备份与恢复
数据库·mysql
暮雨疏桐3 小时前
MySQL SQL Mode及其说明
数据库·sql·mysql·sql mode
Tangcan-3 小时前
【MySQL】数据库基础
数据库·mysql
蔡蓝4 小时前
Mysql的索引,慢查询和数据库表的设计以及乐观锁和悲观锁
数据库·mysql
jstart千语4 小时前
【Redis】分布式锁的实现
数据库·redis·分布式
一把年纪学编程5 小时前
【牛马技巧】word统计每一段的字数接近“字数统计”
前端·数据库·word
极小狐5 小时前
极狐GitLab 通用软件包存储库功能介绍
java·数据库·c#·gitlab·maven
钢铁男儿5 小时前
C# 方法(可选参数)
数据库·mysql·c#
陆少枫5 小时前
MySQL基础关键_013_常用 DBA 命令
数据库·mysql
赵渝强老师5 小时前
【赵渝强老师】在PostgreSQL中使用file_fdw访问外部文件系统
数据库·postgresql