MongoDB与Mongoose入门指南
1. MongoDB基础特性
1.1 索引查询
MongoDB可以通过索引提高查询效率。例如,要查询评论数超过10的文档,可使用如下查询:
db.posts.find({ commentsCount: { $gt: 10 } });
若定义了 commentsCount 索引,MongoDB只需检查哪些文档的 commentsCount 属性大于10,再检索这些文档,而无需遍历所有文档。
1.2 副本集
为提供数据冗余和提高可用性,MongoDB采用副本集架构。副本集是一组托管相同数据集的MongoDB服务,其中一个为主节点,其他为从节点。所有节点支持读操作,但只有主节点负责写操作。当主节点发生写操作时,会通知从节点并确保它们将更改应用到数据集副本。
- 自动故障转移 :当某个节点超过10秒无法连接到主节点时,副本集会自动选举并提升一个从节点为主节点。原主节点恢复后,将作为从节点重新加入副本集。
- 仲裁节点 :仲裁节点不存储数据,主要用于维护副本集中的法定人数。它们参与新主节点的选举过程,但不能作为从节点或被选举为主节点。
1.3 分片
随着Web应用的发展,扩展是常见问题,可分为垂直扩展和水平扩展:
| 扩展方式 | 优点 | 缺点 |
| ---- | ----
超级会员免费看
订阅专栏 解锁全文

4万+

被折叠的 条评论
为什么被折叠?



