MEAN Stack:静态列表最佳实践

时间:2014-05-05 05:28:26

标签: node.js angularjs mongodb

这是一般的最佳实践问题:

我正在构建一个MEAN(mongo,express,angular,node)网站。我有一个用户对象,可以有性别[先生或小姐]和一个城市[巴黎,纽约,任何]

所以这是一个非常普遍的问题:我应该在哪里存储那些很少改变且永远不会超过的列表,比方说,50行。

1 /使用用户表中的外键将它们存储在数据库(mongo)中是否更好?所以我有一张性别表和一张城市表。但每次我访问这些列表时我都需要阅读基础?

2 /将它们存储在文件或控制器中是否更好?但我认为这有点危险。

3 /也许还有另一种我不了解的方式。

我不确定什么是最佳解决方案。

1 个答案:

答案 0 :(得分:0)

您是否担心额外的数据库调用以获取列表?

如果是我,我会选择选项1并将其存储在数据库中。如果您只在前端存储值描述,那么如果您最终更新数据库的外键但却忘记更新控制器或文件,那么您将面临差异的风险,这似乎相当不值得信任。这也使得提供国际化变得更加困难,因为您必须开始以多种语言在文件或控制器中存储名称和性别。存储内容是数据库的用途,另外一个获取列表的调用对您的性能影响不大。

Angular的$http对象,你可能用来调用你的API有一个缓存选项,这意味着你只需要在每个应用实例化时检索一次列表。

你可以看看Josh的this post,他们在加载之前找到了一种从服务器预先填充JSON指令的方法。