Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 处理数据库中的数据_Javascript_Node.js_Angular_Rest_Express - Fatal编程技术网

Javascript 处理数据库中的数据

Javascript 处理数据库中的数据,javascript,node.js,angular,rest,express,Javascript,Node.js,Angular,Rest,Express,我有一个前端(用户界面)和一个数据库。它们通过RESTAPI连接。前端是用Angular实现的,数据库是MariaDB,API是用Express实现的。在API中定义了我的所有Get/Post/Put/Delete方法,我能够从数据库中写入和读取数据。 如果数据库中没有明确存在数据,但必须计算数据而不是数据库数据,我需要做什么?我在哪里实现这个逻辑?我不想将它添加到我的前端或数据库中,因此它显然必须在API中(或两者之间的某个地方)。对于如何处理,是否有一个共同的标准? 此外,必须指出的是,计算

我有一个前端(用户界面)和一个数据库。它们通过RESTAPI连接。前端是用Angular实现的,数据库是MariaDB,API是用Express实现的。在API中定义了我的所有Get/Post/Put/Delete方法,我能够从数据库中写入和读取数据。 如果数据库中没有明确存在数据,但必须计算数据而不是数据库数据,我需要做什么?我在哪里实现这个逻辑?我不想将它添加到我的前端或数据库中,因此它显然必须在API中(或两者之间的某个地方)。对于如何处理,是否有一个共同的标准?
此外,必须指出的是,计算数据应显示在前端,但不必存储在数据库中。

通过REST API(post或get方法)将值发送到服务器。将业务逻辑写入其中(控制器)并返回值。您不想用数据库处理这些数据,最简单的规则是:保持一致

我个人会选择在Express API中实现该登录,因为这样更多的客户可以轻松地共享该登录。一个简单的例子是,如果您的数据库中有
firstName
lastName
的用户,但您还需要另一个方便的字段
name
,该字段与firstName和lastName联系,因为您经常使用它。如果您在API级别这样做,每个客户机都可以从中受益


这只是一个例子,但主要的一点是一致性:不要在前端和后端之间混合这样的逻辑,因为这样会降低可维护性。

你的意思是你想在前端显示A+B+C,但你的数据库中只有B和C,你不想在前端或后端存储A?那么,A来自哪里^-^我认为您将API与web应用程序混淆了。API是一个应用程序编程接口,所以它只定义契约,而不是实现。您需要的是业务逻辑层。我认为研究软件架构的基础知识会很有趣。这通常是进行数据操作的地方,但它也发生在ui的浅层上。我不会太担心这个。更改UI中的单个属性没有问题,但创建整个对象或执行复杂操作通常是业务逻辑的职责。因此,我在express.js中所做的是将前端连接到数据库的业务逻辑层。我能把我的计算加进去吗@Mridul我想在数据库中存储A、B和C,但不存储A+B+C,这应该只显示在前端如果后端中有所有必需的参数,那么它完全取决于前端部件是A+B+C还是A-B-C。