mongodb

在 MongoDB 中,数据库集合文档 是三种不同的概念,它们之间有层次关系。下面我会介绍它们的关系和相关的创建语法。

1. 文档(Document)

  • 定义:文档是 MongoDB 中的基本数据单元,类似于 JSON 对象,由键值对构成。

  • 格式 :文档的键值对格式类似于:

    json 复制代码
    { "name": "Alice", "age": 25, "city": "New York" }
  • 文档没有固定的结构,不同文档可以有不同的字段。

2. 集合(Collection)

  • 定义:集合是文档的容器,类似于关系型数据库中的表。集合可以包含多个文档,并且这些文档的结构不必完全相同。
  • 关系:文档属于集合,一个集合可以存储多个文档。

3. 数据库(Database)

  • 定义:数据库是集合的容器,类似于关系型数据库中的数据库概念。每个 MongoDB 实例可以包含多个数据库。
  • 关系:数据库包含多个集合,一个集合包含多个文档。

三者之间的层次关系:

  • 数据库 -> 集合 -> 文档
  • MongoDB 实例中有多个数据库,每个数据库中有多个集合,每个集合中有多个文档。

4. 创建数据库、集合和文档的语法

1. 创建数据库

在 MongoDB 中,没有专门的命令来创建数据库,数据库是在你第一次使用它(插入数据时)自动创建的。

  • 切换到一个新数据库

    bash 复制代码
    use myDatabase

    这条命令会切换到 myDatabase,如果这个数据库不存在,MongoDB 会在你第一次向其中插入数据时自动创建它。

2. 创建集合

如果你想显式地创建一个集合,可以使用 createCollection 命令,但通常你直接插入数据时会自动创建集合。

  • 显式创建集合

    bash 复制代码
    db.createCollection("myCollection")
  • 隐式创建集合(通过插入数据时创建):

    bash 复制代码
    db.myCollection.insert({ name: "John", age: 25 })
3. 插入文档

插入文档时,如果数据库和集合不存在,它们会自动创建。

  • 向集合中插入一个文档

    bash 复制代码
    db.myCollection.insert({ name: "John", age: 25, city: "New York" })
  • 向集合中插入多个文档

    bash 复制代码
    db.myCollection.insertMany([
      { name: "John", age: 25, city: "New York" },
      { name: "Alice", age: 30, city: "Los Angeles" }
    ])

5. 总结

  • 数据库 包含 集合集合 包含 文档
  • 当你插入文档时,MongoDB 会自动创建所需的集合和数据库。
  • 你可以显式创建数据库和集合,也可以在插入文档时自动创建它们。
相关推荐
严文文-Chris4 分钟前
向量数据库选型完全指南
数据库
未来之窗软件服务5 分钟前
自建开发工具IDE(七)数据库集群智能升级东方仙盟数据库同化,五行八卦排序+游戏修仙,精准补齐差异还能圆武侠梦—东方仙盟筑基期
数据库·游戏·oracle·仙盟创梦ide·东方仙盟·东方仙盟架构·东方仙盟商业开发
奔跑吧邓邓子7 分钟前
Neo4j图数据库实战:解锁关系数据的无限潜力
数据库·实战·neo4j
Miss_Chenzr28 分钟前
Springboot文化艺术发展有限公司4rl42(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·后端
Knight_AL28 分钟前
Redis Lua 脚本为什么天然具备原子性?
数据库·redis·lua
码界奇点29 分钟前
时序数据库界的速度与激情金仓数据库如何以技术创新超越InfluxDB
数据库·时序数据库·ux
Elastic 中国社区官方博客33 分钟前
使用 Elasticsearch Agent Builder 构建对话式费用助手,结合 Telegram, n8n 和 AWS Bedrock
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·aws
Alex_81D34 分钟前
Spring Data JPA以及JPQL等特性详细使用教程
java·数据库·后端
老马聊技术36 分钟前
HBase完全分布式集群搭建详细教程
数据库·分布式·hbase
万邦科技Lafite38 分钟前
淘宝开放API批量上架商品操作指南(2025年最新版)
开发语言·数据库·python·开放api·电商开放平台·淘宝开放平台