MongoDB建模的简单原则
建模原则:
数据库名字、Collection名字、属性字段均小写,并使用下划线连接。
但是对应的Java DAO对象的属性字段需要按照驼峰命名法书写,并且每个字段都需要加上@Field注解,即使数据库字段和名字是完全一样的。对于大规模数据,字段存储的时候使用缩写。
如果嵌套的Document数量会不断的增长或者频繁发生变化,那么可以考虑单独存Collection
The maximum BSON document size is 16 megabytes.
如果从逻辑上对象是从属并且是1:1的关系,直接使用嵌套对象。
但是如果多个地方使用了同一个对象,比如A包含了B, C也包含了B,那么可以考虑将B单独建集合,然后通过DBRefs(对于Spring Data Mongo来说就是注解@DBRef)来引用。
建索引原则:
复合索引不在Java POJO对象上加注解完成。而是手工创建。
对于复合索引,要将能够快速缩小数据范围(命中率更高)的字段放在复合索引前面并排序。
稀疏索引,如果某字段对于大部分数据都可能不存在,或者为null, 要指定该索引为稀疏索引