Nodejs Возражение. js условный патч - PullRequest
0 голосов
/ 29 января 2020

Мне нужно запустить патч (или обновление) в 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 и второй внутри другого), а только один, встраивая условие внутри метод патча. Является ли это возможным? Как я могу это сделать?

1 Ответ

1 голос
/ 29 января 2020

Вы можете извлечь объект 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, но таким образом он более читабелен.

Надеюсь, это поможет.

...