FeathersJS查询使用两个$ or but and'ed在一起

时间:2019-04-04 13:13:23

标签: feathersjs

我试图弄清楚如何使用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甚至有可能吗?任何建议将不胜感激。

1 个答案:

答案 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')