Javascript Sails.js和条件

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:[

我将mongoDb与sails.js一起使用,需要按地址字符串进行搜索。例如,“Malibu 98000”。 db中的行如下所示 {
“州”:“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。请描述