Javascript Sails.js和条件
我将mongoDb与sails.js一起使用,需要按地址字符串进行搜索。例如,“Malibu 98000”。 db中的行如下所示 {Javascript Sails.js和条件,javascript,mongodb,sails.js,waterline,Javascript,Mongodb,Sails.js,Waterline,我将mongoDb与sails.js一起使用,需要按地址字符串进行搜索。例如,“Malibu 98000”。 db中的行如下所示 { “州”:“CA”, “街道号码”:“120”, “街道名称”:“Sh”, “城市”:“马里布”, “zipCode”:“98000” } 但我无法使用“AND”条件执行吃水线查询。我已经试过几种方法,但大多数都是空的,或者根本就不回来 var propertySearchParams = { and : [ or:[
“州”:“CA”, “街道号码”:“120”, “街道名称”:“Sh”, “城市”:“马里布”, “zipCode”:“98000” } 但我无法使用“AND”条件执行吃水线查询。我已经试过几种方法,但大多数都是空的,或者根本就不回来
var propertySearchParams = {
and : [
or:[
{streetNumber: {like: "%98000%"}},
{zipCode: {like: "%98000%"}}
],
or:[
{streetName: {like: "%Malibu%"}},
{city: {like: "%Malibu%"}},
{state: {like: "%Malibu"}}
]
]
}
如何指定“Malibu”和“98000”?
谢谢 我猜您需要“andWhere”修饰符。不幸的是,waterline中没有用于查询参数的“and”修饰符,但有
where()
函数,其作用类似于和where
。
因此,基本上,您的查询应该如下所示:
Model.find()
.where({
or:[
{streetNumber: {like: "%98000%"}},
{zipCode: {like: "%98000%"}}
]
})
.where({
or:[
{streetName: {like: "%Malibu%"}},
{city: {like: "%Malibu%"}},
{state: {like: "%Malibu"}}
]
})
.exec(...);
阿凡,在上面的回答中,只有一个条件有效。第二个where覆盖上一个where。请描述