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 命令的输出中显示。
相关推荐
猿小喵18 分钟前
MySQL四种隔离级别
数据库·mysql
Y编程小白24 分钟前
Redis可视化工具--RedisDesktopManager的安装
数据库·redis·缓存
洪小帅1 小时前
Django 的 `Meta` 类和外键的使用
数据库·python·django·sqlite
祁思妙想1 小时前
【LeetCode】--- MySQL刷题集合
数据库·mysql
V+zmm101342 小时前
教育培训微信小程序ssm+论文源码调试讲解
java·数据库·微信小程序·小程序·毕业设计
m0_748248022 小时前
【MySQL】C# 连接MySQL
数据库·mysql·c#
小高不明5 小时前
仿 RabbitMQ 的消息队列2(实战项目)
java·数据库·spring boot·spring·rabbitmq·mvc
DZSpace5 小时前
使用 Helm 安装 Redis 集群
数据库·redis·缓存
张飞光5 小时前
MongoDB 创建集合
数据库·mongodb
Hello Dam5 小时前
接口 V2 完善:基于责任链模式、Canal 监听 Binlog 实现数据库、缓存的库存最终一致性
数据库·缓存·canal·binlog·责任链模式·数据一致性