Я могу ошибаться и не собираюсь голосовать "за".
Лучше использовать примеры из официальной документации .
и включить режим регистрации (см. параметр регистрации) , чтобы увидеть, что происходит с конкретным запросом
но я попытаюсь дать какую-то идею.
Я предпочитаю это - так как он более читабелен:
where: { $or : [ {attr:val1, some: val3}, {attr:val2} ] }
- это
... WHERE ((attr = val1 AND some = val3) OR (attr = val2))
Этот я не могу сказать, какое значение принимается для сравнения.Поскольку это не массив, поэтому я могу предположить, что он будет использовать последнее определение, и поскольку нет других полей для построения запроса, он не будет использовать OR
where: { $or : { attr: val1, attr: val2} }
is
... WHERE attr = val2
дополнительно:
where: {
user_id: 5,
$or : { attr: val1, attr: val2}
}
is
... WHERE user_id = 5 OR attr = val2
третий немного неоднозначный, я бы рекомендовал использовать $in
where: { attr: { $in: [val1, val2] } }
is
... WHERE attr IN (val1, val2)