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 命令的输出中显示。
相关推荐
极限实验室26 分钟前
Easysearch 集成阿里云与 Ollama Embedding API,构建端到端的语义搜索系统
数据库·openai
我科绝伦(Huanhuan Zhou)1 小时前
达梦数据库备份与还原终极指南:从基础到增量策略实战
数据库·oracle
zxsz_com_cn1 小时前
智能化设备维护:开启高效运维新时代
大数据·数据库·人工智能
冒泡的肥皂1 小时前
2PL-事务并发控制
数据库·后端·mysql
笑衬人心。1 小时前
MySQL 索引失效的场景与原因
数据库·mysql·索引
Cyber4K2 小时前
MySQL--高可用MHA集群详解及演练
数据库·mysql·高可用·mha
转身後 默落3 小时前
03.一键编译安装Redis脚本
数据库·redis·缓存
blurblurblun3 小时前
Redis实战(7)-- 高级特性 Redis Stream数据结构与基础命令
数据库·redis·缓存
永卿0014 小时前
mysql 日志机制
数据库·mysql
先鱼鲨生4 小时前
etcd 的安装与使用
数据库·etcd