一、数据库命名规范
- 数据库名称应仅包含数字、字母和下划线,长度最多不超过64个字符。为便于管理和识别,推荐使用具有业务标识性的命名方式。
- 避免与系统库(如admin、local、test、config)重名,以防止潜在的冲突和混淆。
- 数据库名称大小写敏感,为保持一致性,推荐全部使用小写字母。
二、集合命名与操作规范
- 集合名称同样应仅包含数字、字母和下划线,长度最多不超过64个字符,并使用具有业务标识性的命名方式。
- 集合名称不得以“system.”开头,以避免与系统集合产生冲突。
- 集合名称大小写敏感,推荐统一使用小写字母。
- 禁止直接向_id字段写入自定义内容,以保持数据的完整性和一致性。
- 针对超长文本数据,应采用压缩存储方式,以降低存储成本并防止查询时导致网络阻塞。
- 根据业务需求和数据增长情况,提前采取分片措施以提高数据处理能力和扩展性。
- 正确使用写关注设置(Write Concern),确保数据写入的安全性和可靠性。具体要求包括:
a. 要求进行写入确认,以确保数据成功写入数据库。
b. 在副本集环境中,要求数据已写入主服务器和一个备用服务器,或已写入大多数服务器中(使用“majority”选项)。
三、索引创建与使用规范
- 索引遵循联合索引最左匹配原则,因此在创建联合索引时应充分考虑查询需求和性能优化。
- 索引命名应统一以“idx_”开头,以便于识别和管理。
- 注意避免索引失效场景,如使用正则表达式、非操作符(如
not等)以及算术运算符(如$mod等)时可能导致索引失效。
- 尽量避免为数组元素创建索引,因为MongoDB会为数组中的每个元素创建索引,从而导致整体索引体积迅速增大并影响性能。
四、查询操作规范
- 查询语句应充分利用索引以提高查询效率,避免全表扫描带来的性能问题。
- 在查询数组内元素时,应使用$elemMatch操作符以确保正确匹配数组中的元素。
以上MongoDB开发规范旨在提高数据库管理的规范性、一致性和可维护性,确保系统的稳定性和性能表现。开发人员在实际使用过程中应严格遵循这些规范,并根据实际业务需求进行适当的调整和优化。








网友评论