误区 1:MongoDB 很灵活,所以不用设计模式
错。
灵活是让你迭代更顺,不是允许仓库混乱。没有字段约定、类型约定、索引设计,后期会越来越难维护。
误区 2:能嵌套就全部嵌套
错。
如果子数据会无限增长,或者本身要独立查询,硬嵌进去会让档案袋越来越重。
误区 3:既然文档库不擅长 join,那就全部引用
也错。
如果数据总是一起读取,你却拆成很多集合,再靠多次查询或 $lookup 拼回来,系统会变笨。
误区 4:索引越多越快
错。
索引会提升查询,但也会拖慢写入、占用空间和内存。应该围绕真实查询模式设计。
误区 5:ObjectId 就是严格时间顺序
不严谨。
它通常大致随时间递增,但不是精确、严格、全局绝对时间序列。
误区 6:MongoDB 没有事务
错。
MongoDB 支持事务。但更重要的思想是:优先利用单文档原子性,少把事务当补锅工具。
误区 7:文档结构灵活,所以字段类型随便变
这是最危险的误区之一。
今天 price: "99.00",明天 price: 99,后天 price: NumberDecimal("99.00"),最终查询、排序、计算都会开始出问题。