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 命令的输出中显示。
相关推荐
越甲八千3 分钟前
SQL注入
数据库·sql·oracle
安当加密8 分钟前
数据库密码还在 Git 里?用 SMS凭据管理系统实现生产/开发环境隔离
数据库·git
安科瑞刘鸿鹏1716 分钟前
当宿舍开始“提前预警”,用电安全会发生什么变化?
运维·服务器·网络·数据库
杨了个杨898218 分钟前
CentOS 8 完整实现 Rsyslog 日志写入 MySQL 数据库
数据库·mysql·centos
科技D人生18 分钟前
PostgreSQL学习总结(16)—— PostgreSQL 插件之 pgvector
数据库·postgresql·pgvector·向量数据库引擎·pgsql 向量数据库
herinspace25 分钟前
管家婆软件套接字服务器打不开怎么解决
运维·服务器·数据库
爱潜水的小L26 分钟前
自学嵌入式day42,html
数据库·oracle·html
越甲八千35 分钟前
async 和 await 详细解析
网络·数据库·tcp/ip
·云扬·1 小时前
MySQL高可用方案全解析:6种主流方案的原理、优缺点与选型指南
数据库·mysql
only-qi1 小时前
深入理解MySQL中的MVCC:多版本并发控制的实现原理
java·数据库·mysql