我需要在Parse.com(伪语言)中执行以下查询:
select all posts where
(expired < today OR expired not exists)
AND
(owner is {user} OR commenter contains {user})
我知道在Javascript中我可以使用Parse.Query.or
创建两个OR查询,但由于它似乎不是Parse.Query.and
变体,我不知道我怎么能将这两个OR查询合并为一个查询。
其他人建议多次使用equalTo
来创建AND语句,但这对于复合OR查询不起作用。
答案 0 :(得分:4)
我不熟悉Parse,这对评论来说太长了,但请参阅下面的documentation;特别是最后一句话似乎是你所追求的。
复合查询
如果要查找与多个查询之一匹配的对象,可以使用Parse.Query.or方法构造一个查询,该查询是传入的查询的OR。例如,如果您要查找任何一个很多胜利或几场胜利,你可以做到:
var lotsOfWins = new Parse.Query("Player"); lotsOfWins.greaterThan("wins", 150); var fewWins = new Parse.Query("Player"); fewWins.lessThan("wins", 5); var mainQuery = Parse.Query.or(lotsOfWins, fewWins); mainQuery.find({ success: function(results) { // results contains a list of players that either have won a lot of games or won only a few games. }, error: function(error) { // There was an error. } });
您可以为新创建的Parse.Query添加其他约束,这些约束充当&#39;和&#39;操作