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(...);