首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Nodejs Objection.js条件补丁

Nodejs Objection.js条件补丁
EN

Stack Overflow用户
提问于 2020-01-29 09:06:25
回答 1查看 910关注 0票数 0

我需要基于条件在Objection.js中运行修补程序(或更新)。我有这样的代码:

代码语言:javascript
复制
if (leavenMachine.ping == true){
   MachinesInit.query()
                .patch({status: 'OK', online:"yes"})
                .where('machine', 'leaven machine')
                .where('type', 'M');
}else {
  MachinesInit.query()
                .patch({status: 'OK'})
                .where('machine', 'leaven machine')
                .where('type', 'M');
}

我需要重构它,这样我就不需要两个查询(一个在if条件内,第二个在else中),而只需要一个,将条件嵌入到修补程序方法中。有可能吗?我该怎么做?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-29 09:10:26

可以将patch对象提取到变量:

代码语言:javascript
复制
const patchData = (leavenMachine.ping == true) ? {status: 'OK', online:"yes"} : {status: 'OK'}

之后,只需调用查询:

代码语言:javascript
复制
MachinesInit.query()
            .patch(patchData)
            .where('machine', 'leaven machine')
            .where('type', 'M');

您可以将patchData的值直接传递给patch调用,但是这样就更容易读了。

希望这能有所帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59963681

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档