在这种情况下,哪种数据存储和检索策略更具性能?

时间:2017-02-22 19:09:52

标签: javascript node.js mongodb

我正在使用Mongo,Express和Node.js创建一个应用程序。该应用程序为桌面战争游戏(微缩模型战斗)定制战车的模型/描述。

每辆车都有几种属性,如车身类型,动力源等。大约有六种这样的属性。在大多数情况下,每个房产的可用选项少于十几个。虽然某些选项将包含多个数据点(成本,重量,大小,名称等),但这些选项的描述不会经常更改(如果有的话)。此外,尽管可能会添加新选项,但这种情况很少发生。

换句话说,大部分数据都是静态的。

用户数据(用户设计的车辆等)和车辆描述将存储在mongo数据库中,因为这些数据可以更改并经常扩展。

但是,将这些其他信息作为常量添加到API编程中会更有意义吗?组件位置的值列表是一个简单的数组(顶部,底部,前部,后部,左侧),因此很容易做到。但是Body Type有13个选项,每个选项有6个属性(名称,类型,成本,重量等)。简单地将这样的东西放在根据需要检索的JSON文件中是否更高效?或者把它放在数据库中?

同样,数据(几乎)是静态的,因此维护不是主要问题。内存使用情况以及可能的网络带宽是。

对于JSON文件,API(或UI,取决于场景)需要使用我编写的过滤函数来挑选适用的记录,尽管迭代13条目数组似乎不是密集。同时,如果我将它存储在Mongo中,我将只会查看已经过滤的数据。调用Mongo会比打开纯文本文件更快和/或更少资源吗?

这有一个粗略的门槛吗?有超过2打武器,其中一些有变化。

那么,我最好只制作一个JSON文件或将其放入Mongo集合中吗?或者这没关系,也许我正在把它作为拖延代码编写的一种方式?

1 个答案:

答案 0 :(得分:0)

尝试从maintainabilityextensibility的角度来看待它。

  • 您是否需要重新部署才能进行更改?
  • 你还会打多少次网络电话?
  • 将"硬编码"一些价值观让你的流动纠结?
  • 如何在主机之间共享数据,这是一个问题吗?

对我而言,您认为应该将数据存储在某个数据存储区(mongo)中。