Cloudcode - 使用AND组合两个OR查询

时间:2014-07-11 15:37:51

标签: javascript parse-platform

使用javascript API / Cloudcode,是否可以采用两个OR查询并使用AND组合它们?

var orQuery1 = Parse.Query.or(q1, q2);
var orQuery2 = Parse.Query.or(q3, q4);

var orQuery1AndorQuery2 = ??

在上面的例子中,我将最终查询返回(q1 || q2)&&的结果。 (q3 || q4)

2 个答案:

答案 0 :(得分:0)

给它一个镜头..不确定它会起作用,但值得一试:

var query3 = new Parse.Query("TargetClassName");
query3.whereMatchesQuery("objectId", orQuery1);
query3.whereMatchesQuery("objectId", orQuery2);

query3.find().then(function(results) {
  console.log(results);
}, function(error) {
  console.log(error);
});

如果这不起作用,您需要提取2个查询并在客户端组合/过滤它们。

答案 1 :(得分:0)

为了与Or查询结合,我必须使用方法“matchesKeyInQuery()”。

如果我有4个查询q1,q2,q3,q4,我希望我的最终查询是(q1 || q2)&&的结果(q3 || q4)。

您首先创建2个或查询:

var q1OrQ2 = Parse.Query.or(q1, q2);
var q3OrQ4 = Parse.Query.or(q3, q4);

然后使用matchesKeyInQuery将q3OrQ4添加到第一个查询:

var finalQuery = q1OrQ2.matchesKeyInQuery("objectId", "objectId", q3OrQ4);