这是一般的最佳实践问题:
我正在构建一个MEAN(mongo,express,angular,node)网站。我有一个用户对象,可以有性别[先生或小姐]和一个城市[巴黎,纽约,任何]
所以这是一个非常普遍的问题:我应该在哪里存储那些很少改变且永远不会超过的列表,比方说,50行。
1 /使用用户表中的外键将它们存储在数据库(mongo)中是否更好?所以我有一张性别表和一张城市表。但每次我访问这些列表时我都需要阅读基础?
2 /将它们存储在文件或控制器中是否更好?但我认为这有点危险。
3 /也许还有另一种我不了解的方式。
我不确定什么是最佳解决方案。
答案 0 :(得分:0)
您是否担心额外的数据库调用以获取列表?
如果是我,我会选择选项1并将其存储在数据库中。如果您只在前端存储值描述,那么如果您最终更新数据库的外键但却忘记更新控制器或文件,那么您将面临差异的风险,这似乎相当不值得信任。这也使得提供国际化变得更加困难,因为您必须开始以多种语言在文件或控制器中存储名称和性别。存储内容是数据库的用途,另外一个获取列表的调用对您的性能影响不大。
Angular的$http
对象,你可能用来调用你的API有一个缓存选项,这意味着你只需要在每个应用实例化时检索一次列表。
你可以看看Josh的this post,他们在加载之前找到了一种从服务器预先填充JSON指令的方法。