Sails.js И состояние

Я использую mongoDb с sails.js и мне нужно сделать поиск по адресной строке. Например -"Малибу 98000". строка в БД выглядит так {
"state": "CA", "streetNumber": "120", "streetName": "Sh", "city": "Malibu", "zipCode": "98000"}

Но я не могу выполнить запрос по ватерлинии, используя условие "И". Я уже пробовал это несколькими способами, но большинство из них возвращаются пустыми или просто никогда не возвращаются.

    var propertySearchParams = {
       and : [
          or:[
               {streetNumber: {like: "%98000%"}},
               {zipCode: {like: "%98000%"}}
             ],
          or:[
               {streetName: {like: "%Malibu%"}},
               {city: {like: "%Malibu%"}},
               {state: {like: "%Malibu"}}
             ]
        ]
    }

Как я могу указать "Малибу" И "98000"? Спасибо!

1 ответ

Решение

Полагаю, вы хотите модификатор andWhere. К сожалению, для параметров запроса в ватерлинии нет модификатора 'and', но есть where() функция, которая действует как andWhere, Итак, ваш запрос должен выглядеть примерно так:

Model.find()
     .where({
             or:[
               {streetNumber: {like: "%98000%"}},
               {zipCode: {like: "%98000%"}}
             ]
          })
    .where({
              or:[
               {streetName: {like: "%Malibu%"}},
               {city: {like: "%Malibu%"}},
               {state: {like: "%Malibu"}}
             ]
          })
    .exec(...);
Другие вопросы по тегам