# mongodb 实战


<!--more-->


## 1. 适用场景

- 网站数据：Mongo非常适合实时的插入,更新与查询，并具备网站实时数据存储所需的复制及高度伸缩性。
- 缓存：由于性能很高，Mongo也适合作为信息基础设施的缓存层。在系统重启之后，由Mongo 搭建的持久化缓存层可以避免下层的数据源过载。
- 大尺寸、低价值的数据：使用传统的关系型数据库存储一些大尺寸低价值数据时会比较浪费，在此之前，很多时候程序员往往会选择传统的文件进行存储。
- 高伸缩性的场景：Mongo非常适合由数十或数百台服务器组成的数据库，Mongo的路线图中已经包含对MapReduce引擎的内置支持以及集群高可用的解决方案。
- 用于对象及JSON数据的存储：Mongo的BSON数据格式非常适合文档化格式的存储及查询。

## 2. 行业具体应用场景

- 游戏场景，使用MongoDB存储游戏用户信息，用户的装备、积分等直接以内嵌文档的形式存储，方便查询、更新。
- 物流场景，使用MongoDB存储订单信息，订单状态在运送过程中会不断更新，以MongoDB内嵌数组的形式来存储，一次查询就能将订单所有的变更读取出来。
- 社交场景，使用MongoDB存储存储用户信息，以及用户发表的朋友圈信息，通过地理位置索引实现附近的人、地点等功能。
- 物联网场景，使用MongoDB存储所有接入的智能设备信息，以及设备汇报的日志信息，并对这些信息进行多维度的分析。
- 直播，使用MongoDB存储用户信息、礼物信息等。

## 3. 使用抉择

![示意图](https://img.zhaojq.top/20260727091649136.png "示意图")

## 4. mongodb业务使用

以下示例了: java使用mongo, spring使用mongo, springboot使用mongo的方式 

示例代码: [https://gitee.com/ixinglan/mongodb-demo.git](https://gitee.com/ixinglan/mongodb-demo.git)










