OR 运算符不适用于 Breeze 使用 Json 查询

OR operator not working for Breeze Query using Json

我正在使用 Breeze api 编写客户端查询,并希望使用 Json 来编写客户端查询。

我有一个 SQL 查询,我将其转换为 Json 查询,但它会自动将 'or' 运算符转换为 'and'。请帮忙。

SQL查询

SELECT [Name] FROM [Users] WHERE [Id] IN (1,3) AND [Name] = 'abc' OR [Mobile] = '111'

BREEZE JSON 查询

var jsonQuery = {
  "from": 'User',
  "where": [{
     "and": [{
        "Id": { "in": [1, 3] },
        "Name": { "eq": 'abc' }
     }],
     "or": [{
        "Mobile": { "eq": '111' }
     }]
   }]
}

好的,我正在 SO 编辑器中编辑它,所以我没有对其执行任何语法检查,但你应该能够理解这个想法

var jsonQuery = {
  "from": 'User',
  "where": [{
    "or": [ {
      "and": [ {
        "Id": { "in": [1, 3] },
        "Name": { "eq": 'abc' }
      }],
      "Mobile": { "eq": '111' }
    }]
  }]
}

Jay 的解决方案是正确的,但正如他指出的那样,这是语法问题。正确的查询是:

var jsonQuery = {
  "from": 'User',
  "where": [{
    "or": [
      { "and": [
          { "Id": { "in": [1, 3] }},
          { "Name": { "eq": 'abc' }}
        ]
      },
      { "Mobile": { "eq": '111' }}
    }]
  }]
}