CAP CDS NodeJS仅在自定义逻辑中使用过滤器的一部分

2020-08-21 22:36发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)专家们, 我有一个CAP项...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家们,

我有一个CAP项目,我想从两个表中获取数据,并在带有NodeJS的自定义逻辑处理程序中进行一些处理。 如果将过滤器传递给实体,我只想在一个表上使用所有过滤器,而在另一张表上使用特定的过滤器。 CAP是否为此提供了NodeJS API? 有关如何执行此操作的最佳做​​法? 现在,我这样快速又肮脏地这样做:

 let idx = req.query.SELECT.where.findIndex((filter)=> filter && filter.ref && filter.ref.find((field)=> field ===" Prop"))

 让whereProp = [];
 whereProp.push(req.query.SELECT.where [idx]);
 whereProp.push(req.query.SELECT.where [idx + 1]);
 whereProp.push(req.query.SELECT.where [idx + 2]);

 

提前谢谢!

K,伍特

3条回答
compass1988
2020-08-21 23:07

亲爱的伍特

`ref`是一个数组,该字段始终位于最后一个元素中,因此您应该只写`ref [ref.length -1]`来代替`ref.find('...')`。 如果where子句更复杂(例如,带有方括号或"或"比较,子选择等),则您的逻辑将被破坏,因此没有通用的解决方案。

最诚挚的问候,
大卫

一周热门 更多>