Strongloop:使用[和]和[或]条件一起过滤数据

时间:2016-07-08 08:35:26

标签: mysql node.js strongloop

我尝试使用"和"来过滤数据和"或"条件。 我想得到这个mySql查询:

SELECT * FROM `data` WHERE ((`property1`=11) OR (`property1`=13)) AND (`property2`=6)

我写的其余api是这样的:

http://localhost:4000/api/Data/?filter[where][or][0][property1]=11&filter[where][or][1][property1]=13&filter[where][and][0][property2]=6

loopback json转换似乎是正确的:

{                                            
    "or": [                              
            {                            
                    "property1": 11      
            },                           
            {                            
                    "property1": 13      
            }                            
    ],                                   
    "and": [                             
            {                            
                    "property2": 6     
            }                            
    ]                                    
}

但mySql上的翻译查询是:

SELECT * FROM `data` WHERE (`property1`=11) OR (`property1`=13) AND (`property2`=6)

有什么问题?

1 个答案:

答案 0 :(得分:1)

正确的过滤器如下:

{     
    "and": [
        {                            
          "property2": 6     
        } ,
        {
        "or": [                              
            {                            
                    "property1": 11      
            },                           
            {                            
                    "property1": 13      
            }                            
    ]   }    
    ]                              
}