【问题标题】:Sails.js AND conditionSails.js 和条件
【发布时间】:2014-07-21 14:12:46
【问题描述】:

我将 mongoDb 与sails.js 一起使用,需要通过地址字符串进行搜索。例如 - “马里布 98000”。 db 中的行看起来像这样 {
“状态”:“CA”, “街道编号”:“120”, “街名”:“嘘”, “城市”:“马里布”, “邮编”:“98000” }

但我无法使用“AND”条件执行基线查询。我已经尝试过多种方式,但大多数都返回空或干脆,永远不会返回。

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

如何指定“Malibu”和“98000”? 谢谢!

【问题讨论】:

    标签: javascript mongodb sails.js waterline


    【解决方案1】:

    猜你想要'andWhere'修饰符。不幸的是,查询参数的水线中没有“和”修饰符,但有where() 函数,其作用类似于andWhere。 因此,基本上,您的查询应该如下所示:

    Model.find()
         .where({
                 or:[
                   {streetNumber: {like: "%98000%"}},
                   {zipCode: {like: "%98000%"}}
                 ]
              })
        .where({
                  or:[
                   {streetName: {like: "%Malibu%"}},
                   {city: {like: "%Malibu%"}},
                   {state: {like: "%Malibu"}}
                 ]
              })
        .exec(...);
    

    【讨论】:

    • ArVan,在上面的答案中,只有一个条件有效。第二个 where 是覆盖之前的 where。请描述
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-01
    • 2014-12-23
    相关资源
    最近更新 更多