Используйте более одного или в дальнейшем - PullRequest
1 голос
/ 10 апреля 2019

Я хочу написать немного сложнее where в дальнейшем, используя 3 или условие.

SQL where пример:

where 
(c1 = 'a' or c2 = 'b' or c3 = 'c' or c4 = 'd') 
and (c5 = 'e' or c6 = 'f' or c7 = 'g' or c8 = 'h') 
and (c9 = 'i' or c10 = 'j')

В дальнейшем я написал что-то вроде этого:

where: {
  $and: {
    $or: [{ c1: 'a' }, { c2: 'b' }, { c3: 'c' }, { c4: 'd' }]
  },
  $or: [{ c5: 'e' }, { c6: 'f' }, { c7: 'g' }, { c8: 'h' }]
}

но как я могу добавить этот объект: $or: [{ c9: 'i' }, { c10: 'j' }]?

P.S. Не волнуйтесь, в проекте я использую Op.

1 Ответ

1 голос
/ 10 апреля 2019

Вам необходимо внешнее $and свойство с условиями внутренних частей.

where: {
    $and: [
        {
            $or: [
                { c1: 'a' }, { c2: 'b' }, { c3: 'c' }, { c4: 'd' }
            ]
        },
        {
            $or: [
                { c5: 'e' }, { c6: 'f' }, { c7: 'g' }, { c8: 'h' }
            ]
        },
        {
            $or: [
                { c9: 'i' }, { c10: 'j' }
            ]
        }
    ]
}
...