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' }}
}]
}]
}
我正在使用 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' }}
}]
}]
}