MongoDB详解,MongoDB - 库、集合、文档(操作 + 演示 + 注意事项)
MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。 MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。 它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。 MongoDB服务端可运行在Linux、Windows平台,支持32位和64位应用,默认端口为27017。 推荐运行在64位平台,因为MongoDB在32位模式运行时支持的最大文件尺寸为2GB。 ### MongoDB详解:库、集合、文档(操作 + 演示 + 注意事项) #### MongoDB概述 MongoDB是一款基于分布式文件存储的数据库系统,由C++语言编写而成,旨在为Web应用提供可扩展且高性能的数据存储解决方案。作为一种介于传统的关系数据库和非关系型数据库之间的NoSQL数据库,MongoDB不仅具有非关系型数据库的灵活性,还融合了许多关系型数据库的强大功能,如事务支持、丰富的查询语言等。这使得MongoDB成为非关系型数据库中最接近关系数据库的产品之一。 #### MongoDB的主要特点 ##### 1.2.1 文档(Documents) 在MongoDB中,数据的基本单位是文档,它是由一系列字段和值构成的数据结构。这些字段与值之间形成键值对。文档类似于JSON对象,并且可以嵌套包含其他文档或数组,从而支持复杂的数据类型。 **文档示例**: ```json { "greeting": "hello, world", "foo": 3 } ``` 在这个例子中,“greeting”和“foo”是键,而它们对应的值分别是字符串“hello, world”和数字3。文档中的键/值对是有顺序的,这意味着不同的排序方式表示不同的文档。 **文档的优点**: - **本机数据类型**:文档与许多编程语言中的本机数据类型相匹配,便于处理。 - **嵌入式文档和数组**:减少了对外部连接的需求,提高了查询效率。 - **动态模式**:支持流畅的多态性,适用于需要快速变更数据结构的应用场景。 ##### 1.3.2 集合(Collections) 集合是一组文档的集合,类似于关系数据库中的表。集合是无模式的,意味着集合中的文档不必遵循相同的结构。虽然集合中的文档可以是多样化的,但在实际应用中,为了方便管理和提高查询效率,通常会根据文档类型将它们分类存放在不同的集合中。 **集合示例**:对于一个博客系统,可以有`blog.users`和`blog.articles`两个子集合,其中`users`集合存储用户信息,而`articles`集合则存储文章内容。这种方式不仅便于管理,还能提升查询性能。 ##### 1.3.3 数据库(Databases) MongoDB实例可以承载多个数据库,每个数据库又包含多个集合。数据库之间相对独立,拥有各自的权限控制机制。MongoDB内置了一些特殊的系统数据库: - **Admin**:用于管理权限,如果将用户添加到此数据库,则该用户将自动获得所有数据库的访问权限。 - **Local**:不会被复制,用于存储特定于单个服务器的数据。 - **Config**:在分片模式下,用于存储分片配置信息。 #### 数据模型 MongoDB的数据模型由实例、数据库、集合和文档组成。一个MongoDB实例可以包含多个数据库,每个数据库包含多个集合,而每个集合包含多个文档。文档是由字段组成的,每个字段都是键值对的形式,其中键必须是字符串类型,而值可以是各种类型的数据,包括但不限于字符串、整数、浮点数、时间戳、二进制数据等。 #### Windows安装MongoDB ##### 1.4.1 下载MongoDB MongoDB官方提供了适用于32位和64位系统的预编译二进制包,尽管较新的版本可能不再支持32位系统。用户可以在MongoDB官网上下载相应的安装文件。 **安装步骤**: 1. **下载**:访问MongoDB官方网站,根据操作系统选择合适的版本进行下载。 2. **解压**:将下载的压缩包解压至指定目录。 3. **配置环境变量**:将MongoDB的bin目录添加到系统的PATH环境变量中。 4. **启动服务**:通过命令行工具启动MongoDB服务。 5. **测试连接**:使用`mongo`命令行工具连接数据库,确保安装成功。 通过以上步骤,可以在Windows系统上完成MongoDB的安装和基本配置。接下来,用户就可以开始探索MongoDB的强大功能,并利用其进行高效的数据存储和管理了。
剩余53页未读,继续阅读
- 粉丝: 2461
- 资源: 387
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 冒泡排序算法详解及Java与Python实现
- 字幕网页文字检测20-YOLO(v5至v11)、COCO、CreateML、Paligemma、TFRecord、VOC数据集合集.rar
- FastAdmin后台框架开源且可以免费商用,一键生成CRUD, 一款基于ThinkPHP和Bootstrap的极速后台开发框架,基于Auth验证的权限管理系统,一键生成 CRUD,自动生成控制器等
- IMG_4525.jpg
- 基于 Spring Cloud 的一个分布式系统套件的整合 具备 JeeSite4 单机版的所有功能,统一身份认证,统一基础数据管理,弱化微服务开发难度
- GigaDevice.GD32F4xx-DFP.2.1.0 器件安装包
- 智慧校园数字孪生,三维可视化
- 多种土地使用类型图像分类数据集【已标注,约30,000张数据】
- 3.0(1).docx
- 国产文本编辑器:EverEdit用户手册 1.1.0