使用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)
答案 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);