在MongoDB中,如果不使用嵌入文档也能实现同样的目的,那么嵌入文档的目的是什么



例如

而不是名为COLUMN_1的字段,该字段包含包含字段a、B和C的嵌入文档。

为什么不使用名称为COLUMN_1_ACOLUMN_1_BCOLUMN_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,因此在您的文档模型中,不希望您将所有数据库嵌入到单个文档中。。。

当你需要性能时,你可以添加索引并优化查询,这样你搜索次数最多的数据就会留在内存中,如果你的字段是嵌入的,或者如果它们没有索引,就不会有太大的区别。。。

最新更新