分析.Query.or内部错误:查询顺序重要吗



我有一个查询数组,我将其与OR运算Parse联合起来。Query.or。有时我会得到以下错误。

{"代码":1,"错误":"内部错误"}

这个错误发生在一些请求中,但不是所有请求中,我发现查询的顺序会影响响应(我添加了一个随机排序查询的shuffle方法)。记录查询顺序让我意识到,一些不同的顺序会导致查询执行失败,而其余的则与预期一样。

CCD_ 1是CCD_。

queries = _.shuffle(queries);
var unionQuery = Parse.Query.or.apply(Parse.Query, queries);
unionQuery.find({ useMasterKey: true }).then(function (res) {
console.log('success');
}).fail(function (error) {
console.error(error);
});

Function.protype.apply()是否做了一些奇怪的事情,有时会使我的查询失败?

更换行

var unionQuery = Parse.Query.or.apply(Parse.Query, queries);

通过一次操作每个查询的循环,解决了问题。

var unionQuery = queries.pop();
_.each(queries, function (query) {
unionQuery = Parse.Query.or(unionQuery, query);
});

然而,我不知道为什么与使用apply方法的原始代码相比,这是有效的。

最新更新