【发布时间】:2018-02-22 03:07:28
【问题描述】:
有一个包含 100.000 个文档的集合。其中只有 10 个必须具有其他文件不需要的附加属性(例如,只有顶部的部门列表具有属性“位置”); 据我了解,这两种方法都应该可以正常工作,但是由于使用 noSql db,哪一种更可取:
- 再添加一个集合,其中包含具有 2 个属性的文档:DepartmentId、Location。
- 仅将属性“位置”添加到选定的文档,因此其他人不会拥有它。
【问题讨论】:
标签: mongodb
有一个包含 100.000 个文档的集合。其中只有 10 个必须具有其他文件不需要的附加属性(例如,只有顶部的部门列表具有属性“位置”); 据我了解,这两种方法都应该可以正常工作,但是由于使用 noSql db,哪一种更可取:
【问题讨论】:
标签: mongodb
您面临的问题是众所周知的。例如,您对源代码也是如此。
更新一段代码时,是否保存为User.js, User2.js, User3.js ... ?
或者您是否使用 git 之类的版本控制系统并拥有唯一的 User.js?
将 git 类比翻译为您的问题,您应该更新当前数据。
在 mongodb 中,您实际上有两种选择来执行更新。
更新代码中的模型,并更新数据库中的每个条目以匹配新模型。
创建一个将应用于新条目的新模型,并且仍然使用旧模型来处理旧格式数据。
【讨论】: