как omitNull работает в sequelize

#sequelize.js

#sequelize.js

Вопрос:

У меня есть необработанный запрос примерно такого типа:

 select c1,c2 
from table1 t1
where 
   t1.name :var1 AND t1.number = :var2
 

var1 и var2 являются переменными привязки.

Возможно ли, чтобы переменная привязки была нулевой. Например, если у нас есть,

 var1 = 'abc', var2 = NULL;
 

Мне нужно, чтобы результирующий запрос был похож:

 select c1,c2 
from table1 t1
where 
   t1.name = 'abc'
 

и не

 select c1,c2 
from table1 t1
where 
   t1.name = 'abc' AND t1.number = NULL
 

Я передаю {omitNull: true} конфигурацию Sequelize (которая, судя по документу, говорит о том, что я ожидаю в моем случае выше), но она не работает.

Как добиться такого поведения?

Ответ №1:

Я не думаю, что это то, что omitNull делает. Из документов

http://docs.sequelizejs.com/en/latest/api/sequelize/

 A flag that defines if null values should be passed to SQL queries or not.
 

Насколько я понимаю, это влияет только на параметры вставки или обновления, исключая предложения where и все необработанные запросы.

Вероятно, для этого вам придется создать два отдельных запроса.