一、数据库的使用规范¶
数据库通过名字表示。关于数据库的命名需要注意以下几点:
1、编码格式必须为 UTF-8 字符,数据库名不可以出现空字符串,即 "";
2、只能使用 ASCII 码表中的字母和数字,禁止使用除下划线(_)以外的特殊字符;
3、数据库名称建议全部小写
4、数据库名称长度限制为 64 个字节;
5、数据库名称不可与系统保留的数据库名称相同,即 admin、local 和 config 数据库
6、建议不要使用数字开头的数据库名称,建议数据库命名规则为 db_xxxx,即见名知意的名称
二、集合使用规范¶
基于上面 MongoDB 集合的命名规范,以及实际开发角度提出五条集合命名建议:
1、编码格式必须为 UTF-8 字符,不可以出现空字符串,即 "";
2、集合命名不可含有 \0 字符,即空字符,这个字符表示集合名称的结尾;
3、不能出现以 “System.”开头的集合名称,这 -是为系统集合保留的前缀;
4、集合命名不可包含字符 “$”;
5、集合名称的长度限制为 64 个字节
6、建议不要使用除 _(下划线)和 .(点)以外的特殊字符;
7、建议集合名称全部小写;
8、建议不要使用数字开头的集合名称;
9、为了避免库级锁带来的问题,尽量对写入较大的集合使用 “单库单集合”的结构,对于新增业务尽量创建新库,而不是在现有库中创建新集合;
10、建议集合命名规则为 t_xxxx;
11、使用 “.”来分隔不同命名空间的子集合,例如一个博客可能包含两个子集合,即 blog.posts 和 blog.authors,而 blog 本身可以不存在
三、文档使用规范¶
1、文档中的键不能含有 “\0”字符,即空字符;
2、文档中的键禁止使用任何除下划线 “”以外的特殊字符,并且开头不建议使用 "";
3、文档中的键建议全部为小写;
4、文档中的键不建议以数字开头;
5、不建议自定义文档中的 “_id”值
6、尽量将相似的文档放在同一个集合中,将不同类型的文档分散在不同的集合中,这样可以提高索引的利用率;
7、建议不要存储过长的字符串,如果这个字段为查询条件,那么确保该字段的值不超过 1KB,因为 MongoDB 索引仅支持 1KB 以内的字段;
8、建议若业务上对于存放数据大小写不敏感,则使用全部大写/小写存放(或增加一个统一大小写的辅助字段);
9、建议不要使用数组字段作为查询条件;
10、同一文档中,不可以存在相同名称的键;