mongodb模式设计 - 添加或扩展现有模式

时间:2017-09-13 11:58:02

标签: mongodb

有一个包含100.000个文档的集合。其中只有10个必须具有其他文件不需要的额外财产(例如,只有顶级部门的部门列表具有财产'位置'); 据我所知,这两种方法都应该可以正常工作,但是因为使用noSql db:

,哪一种方法更可取
  1. 使用包含2个属性的文档添加一个集合:DepartmentId,Location。
  2. 添加属性'位置'只有选定的文件,所以其他人都没有。

1 个答案:

答案 0 :(得分:1)

你所面临的问题是众所周知的。例如,您对源代码具有相同的功能。

当您更新一段代码时,是否将其另存为User.js, User2.js, User3.js ... ?

或者您使用像git这样的版本控制系统并拥有唯一的User.js

将git类比转换为您的问题,您应该更新当前数据。

在mongodb中,您实际上有两种选择来执行更新。

  • 更新代码中的模型,并更新数据库中的每个条目以匹配新模型。

  • 创建一个适用于新条目的新模型,并且仍然使用旧模型来处理旧的格式化数据。

use-more-than-one-schema-per-collection-on-mongodb