- MongoDB 教程
- MongoDB - 主页
- MongoDB - 概述
- MongoDB - 优点
- MongoDB - 环境
- MongoDB - 数据建模
- MongoDB - 创建数据库
- MongoDB - 删除数据库
- MongoDB - 创建集合
- MongoDB - 删除集合
- MongoDB - 数据类型
- MongoDB - 插入文档
- MongoDB - 查询文档
- MongoDB - 更新文档
- MongoDB - 删除文档
- MongoDB - 投影
- MongoDB - 限制记录
- MongoDB - 记录排序
- MongoDB - 索引
- MongoDB - 聚合
- MongoDB - 复制
- MongoDB - 分片
- MongoDB - 创建备份
- MongoDB - 部署
- MongoDB-Java
- MongoDB-PHP
- 高级 MongoDB
- MongoDB - 关系
- MongoDB - 数据库参考
- MongoDB - 涵盖查询
- MongoDB - 分析查询
- MongoDB - 原子操作
- MongoDB - 高级索引
- MongoDB - 索引限制
- MongoDB - 对象 ID
- MongoDB - 映射减少
- MongoDB - 文本搜索
- MongoDB - 正则表达式
- 与 Rockmongo 合作
- MongoDB-GridFS
- MongoDB - 上限集合
- 自动递增序列
- MongoDB 有用资源
- MongoDB - 问题与解答
- MongoDB - 快速指南
- MongoDB - 有用的资源
- MongoDB - 讨论
MongoDB - 概述
MongoDB 是一个跨平台、面向文档的数据库,提供高性能、高可用性和易于扩展性。MongoDB 致力于集合和文档的概念。
数据库
数据库是集合的物理容器。每个数据库在文件系统上都有自己的文件集。单个 MongoDB 服务器通常有多个数据库。
收藏
集合是一组 MongoDB 文档。它相当于 RDBMS 表。集合存在于单个数据库中。集合不强制执行模式。集合中的文档可以有不同的字段。通常,集合中的所有文档都具有相似或相关的目的。
文档
文档是一组键值对。文档具有动态架构。动态模式意味着同一集合中的文档不需要具有相同的字段或结构集,并且集合文档中的公共字段可以保存不同类型的数据。
下表显示了 RDBMS 术语与 MongoDB 的关系。
关系型数据库管理系统 | MongoDB |
---|---|
数据库 | 数据库 |
桌子 | 收藏 |
元组/行 | 文档 |
柱子 | 场地 |
表连接 | 嵌入文档 |
首要的关键 | 主键(MongoDB本身提供的默认键_id) |
数据库服务器和客户端 | |
mysqld/Oracle | 蒙戈德 |
mysql/sqlplus | 蒙戈 |
样本文件
以下示例显示了博客网站的文档结构,它只是一个逗号分隔的键值对。
{ _id: ObjectId(7df78ad8902c) title: 'MongoDB Overview', description: 'MongoDB is no sql database', by: 'tutorials point', url: 'http://www.tutorialspoint.com', tags: ['mongodb', 'database', 'NoSQL'], likes: 100, comments: [ { user:'user1', message: 'My first comment', dateCreated: new Date(2011,1,20,2,15), like: 0 }, { user:'user2', message: 'My second comments', dateCreated: new Date(2011,1,25,7,45), like: 5 } ] }
_id是一个 12 字节的十六进制数,可确保每个文档的唯一性。您可以在插入文档时提供_id。如果您不提供,MongoDB 将为每个文档提供一个唯一的 ID。这 12 个字节中的前 4 个字节表示当前时间戳,接下来的 3 个字节表示机器 ID,接下来的 2 个字节表示 MongoDB 服务器的进程 ID,剩下的 3 个字节是简单的增量 VALUE。