虽然不建议将MongoDB用于N:M关系,但您仍然可以通过在文档中存储ID数组来使用它。因此,模型可以有一个方法来查询引用的ID并返回一个对象数组。
现在的问题是:是否有一个指导方针是保存“外键”(哦,我怎么敢这样称呼它!)作为字符串或ObjectId对象?我想性能几乎相同,因为你没有索引它们,但也许它们不需要相等的空间?您认为哪种方式更好?
答案 0 :(得分:2)
简单的数学:
MongoDB的ObjectId是一个12字节的二进制blob。
字符串表示中的相同数据(例如:'47cc67093475061e3d95369d')需要24个字节。它还必须在查询期间转换为ObjectId。
选择很明显,不是吗?