Nodejs Objection.js 条件补丁
Nodejs Objection.js conditional patch
我需要根据条件 运行 Objection.js 中的补丁(或更新)。我有这个代码:
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 内),而只需要一个,将条件嵌入到 patch 方法中。可能吗?我该怎么办?
您可以将 patch
对象提取到变量中:
const patchData = (leavenMachine.ping == true) ? {status: 'OK', online:"yes"} : {status: 'OK'}
之后,只需调用查询:
MachinesInit.query()
.patch(patchData)
.where('machine', 'leaven machine')
.where('type', 'M');
您可以将 patchData
的值直接传递给 patch
调用,但这样可读性更高。
希望这对您有所帮助。
我需要根据条件 运行 Objection.js 中的补丁(或更新)。我有这个代码:
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 内),而只需要一个,将条件嵌入到 patch 方法中。可能吗?我该怎么办?
您可以将 patch
对象提取到变量中:
const patchData = (leavenMachine.ping == true) ? {status: 'OK', online:"yes"} : {status: 'OK'}
之后,只需调用查询:
MachinesInit.query()
.patch(patchData)
.where('machine', 'leaven machine')
.where('type', 'M');
您可以将 patchData
的值直接传递给 patch
调用,但这样可读性更高。
希望这对您有所帮助。