0
有一个包含100.000个文档的集合。其中只有10人必须拥有其他文件不需要的额外财产(例如,只有最高职位的部门名单才有财产'位置'); 据我了解这两种方法应该工作得很好,但哪一个是可取的,因为使用的NoSQL数据库:mongodb架构设计 - 添加集合或扩展现有的集合
- 增加一个集合与具有2属性文件:DepartmentID的,位置。
- 将属性'位置'添加到选定的文档,所以其他人不会拥有它。
有一个包含100.000个文档的集合。其中只有10人必须拥有其他文件不需要的额外财产(例如,只有最高职位的部门名单才有财产'位置'); 据我了解这两种方法应该工作得很好,但哪一个是可取的,因为使用的NoSQL数据库:mongodb架构设计 - 添加集合或扩展现有的集合
您面临的问题众所周知。例如,您可以使用源代码。
当你更新的代码,你将它保存为User.js, User2.js, User3.js ... ?
还是你使用versionning系统如Git,并有独特的User.js
?
翻译你的问题的git类比,你应该更新当前的数据。
在mongodb中,您实际上有两种选择来执行更新。
更新代码中的模型,并更新数据库中的每个条目以匹配新模型。
创建一个适用于新条目的新模型,并且仍旧具有处理旧格式数据的旧模型。
我只打算给文档添加到收藏,现在它只是规划。因此,可以将两个模式(文档类型)添加到一个集合中,而不需要额外的步骤(如额外的索引或smth)? – Anton
完全没有额外的步骤。这是nosql数据库的最佳实力之一。模块化/演变性。 –