解析 - 创建两个OR查询的AND查询

时间:2015-10-11 07:01:15

标签: javascript parse-platform

我需要在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查询不起作用。

1 个答案:

答案 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;操作