我试图弄清楚如何使用Feather的REST查询生成以下SQL条件:
(color = 'blue' OR color = 'green') AND (sport = 'hockey' or sport = 'football')
这是我尝试过的(基于文档):
?$or[0][color][$eq]=blue&$or[1][color][$eq]=green&$or[2][sport][$eq]=hockey&$or[3][sport][$eq]=football
但这会生成以下内容:
((color = 'blue') OR (color = 'green') OR (sport = 'hockey') or (sport = 'football'))
我尝试了不同的组合,甚至嵌套了$or
语句,但似乎无法将其包围。 FeathersJS甚至有可能吗?任何建议将不胜感激。
答案 0 :(得分:1)
您可以使用$in
对其进行重组。
// Object
{
color: {
$in: ['blue', 'green']
},
sport: {
$in: ['hockey', 'football']
}
}
// String: ?color[$in][0]=blue&color[$in][1]=green&sport[$in][0]=hockey&sport[$in][1]=football
它将生成:
WHERE color IN ('blue', 'green') AND sport IN ('hockey', 'football')