例如
而不是名为COLUMN_1
的字段,该字段包含包含字段a、B和C的嵌入文档。
为什么不使用名称为COLUMN_1_A
、COLUMN_1_B
、COLUMN_1_C
的3个独立字段呢。
在mongoDB中,您更喜欢以自然存在的方式处理文档,当然,您可以创建每次都可以翻译的例程,并组装/拆卸文档:
COLUMN_1:{A:X,B:Y,C:Z}
至:
COLUMN_1_A:X,COLUMN_1_B:Y,COLUMN_1_C:Z
但这是你不想每次都做的额外工作,你是一个懒惰高效的开发人员,更喜欢以使用的方式存储json文档,除非有特定的用例可以这样做…:(
此外,请注意,嵌入最多可以达到100个级别,但最大文档大小仍然限制在16MB,因此在您的文档模型中,不希望您将所有数据库嵌入到单个文档中。。。
当你需要性能时,你可以添加索引并优化查询,这样你搜索次数最多的数据就会留在内存中,如果你的字段是嵌入的,或者如果它们没有索引,就不会有太大的区别。。。