增长文档与插入新文档

时间:2015-09-18 10:06:38

标签: mongodb database-design

假设我需要设计一个数据模型来存储人员的地址变化。我可以想到两种方法来实现它:更新人的文档,或插入代表变化的新文档。

使用更新方法,每个人都有一个文档,其中包含一组地址,当人员的地址发生变化时,地址会被添加到数组中。

使用插入方法,每人可能有多个文档。每份文件都代表有关人员的地址变更。

假设存储在文档中的唯一人员信息是人的唯一标识符和地址。我对其进行了精确测试,以便将插入方法的数据重复视为可以忽略不计。

当MongoDB用作数据库时,建议使用哪种方法?

1 个答案:

答案 0 :(得分:0)

您的数据模型的设计应根据您的应用需求进行最终确定。

在选择更新现有文档或插入新文档时,需要注意以下几点

更新现有文件

优点:

  • 更容易检索地址

缺点:

  • 文档大小可能超过16MB。 MongoDB支持最高16MB数据限制的文档。

插入新文件

优点:

  • 地址检索仅基于人的唯一标识符
  • 文档大小始终低于16MB

缺点:

  • 我们最终会为每个地址变更创建文档
  • 使用地址检索人员详细信息的查询将会很复杂

我建议去更新现有文档,假设它不会超过数据限制。