MongoDB 使用手册 - 数据库和集合
概述
MongoDB 将数据记录作为文档 (特别是BSON 文档)存储在集合中。数据库存储一个 或多个文档集合。
数据库
在 MongoDB 中,数据库保存一个或多个文档集合。要选择要使用的数据库,请在 mongosh
中发出 use <db>
语句,如下例所示:
use myDB
创建数据库
如果数据库不存在,MongoDB 会在您首次存储该数据库的数据时创建该数据库。因此,您可以切换到不存在的数据库并执行以下操作mongosh
:
use myNewDB
db.myNewCollection1.insertOne( { x: 1 } )
insertOne()
如果数据库 myNewDB
和集合 myNewCollection1
尚不存在,则该操作会创建它们。确保数据库和集合名称都遵循 MongoDB Naming Restrictions。
集合
MongoDB 将文档存储在集合中。集合类似于关系数据库中的表。
创建一个集合
如果集合不存在,MongoDB 会在您首次存储该集合的数据时创建该集合。
db.myNewCollection2.insertOne( { x: 1 } )
db.myNewCollection3.createIndex( { y: 1 } )
insertOne()
and createIndex()
都会创建它们各自的集合。createIndex()
确保集合名称遵循 MongoDB Naming Restrictions。
显式创作
MongoDB 提供了db.createCollection()
显式创建具有各种选项的集合的方法,例如设置最大大小或文档验证规则。如果您没有指定这些选项,则不需要显式创建集合,因为 MongoDB 在您首次为集合存储数据时会创建新集合。
要修改这些收集选项,请参阅collMod
。
文件验证
3.2版中的新功能。
默认情况下,集合不要求其文档具有相同的模式;即单个集合中的文档不需要具有相同的字段集,并且字段的数据类型可以在集合中的文档之间有所不同。
但是,从 MongoDB 3.2 开始,您可以在更新和插入操作期间对集合强制执行文档验证规则。有关详细信息,请参阅架构验证。
修改文档结构
要更改集合中文档的结构,例如添加新字段、删除现有字段或将字段值更改为新类型,请将文档更新为新结构。
唯一标识符
3.6版中的新功能。
featureCompatibilityVersion
必须设置为或"3.6"
更大。有关详细信息,请参阅查看 FeatureCompatibilityVersion。
集合被分配了一个不可变的UUID。集合 UUID 在副本集的所有成员和分片集群中的分片中保持相同。
要检索集合的 UUID,请运行 listCollections 命令或db.getCollectionInfos()
方法。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构