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

Cloudcode - Combine two OR queries using AND

本文关键字:两个 OR 查询 使用 AND 组合 Cloudcode      更新时间:2023-09-26

使用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)

试试吧。不确定它是否有效,但值得一试:

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);
});

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

为了组合到Or查询,我不得不使用方法"matchesKeyInQuery()"。

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

首先创建2个Or查询:

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

然后使用matchesKeyInQuery:

将q3OrQ4添加到第一个查询上
var finalQuery = q1OrQ2.matchesKeyInQuery("objectId", "objectId", q3OrQ4);