Parse.Query and-组合问题
Parse.Query and-combination issue
在云代码中,我使用这种代码进行了查询:
theMainQuery = new Parse.Query("myClass");
theMainQuery.equalTo("fieldOne", "champion");
theSubQuery = new Parse.Query("myClass");
theSubQuery.equalTo("fieldTwo", "USA");
the2ndSubQuery = new Parse.Query("myClass");
the2ndSubQuery.equalTo("fieldTwo", "BRASIL");
theSubQuery = Parse.Query.or(theSubQuery,the2ndSubQuery);
theMainQuery = Parse.Query.and(theMainQuery,theSubQuery);
换句话说我想要一个基于这个条件的查询:
((fieldOne equals "champion") and ((fieldTwo equals "USA") or (fieldTwo equals "BRASIL")))
在通常的C风格写作中我想select记录匹配:
((fieldOne == "champion") && ((fieldTwo == "USA") || (fieldTwo == "BRASIL")))
问题是它不起作用,我想我的 Parse.Query.and
是错误的。那怎样才能得到我想要的结果呢?
当然,我很乐意避免以这种长格式重新制定查询:
(((fieldOne == "champion") && (fieldTwo == "USA")) || ((fieldOne == "champion") && (fieldTwo == "BRASIL")))
好的,你想做的事情可以在一个查询对象中完成。
我感觉你要找的是'containedIn'...所以你指定了键'fieldTwo',然后传入一个值数组给'or'。
我认为它应该是这样的,我在 Objective-C 而不是 javascript 中实现了它。但这是我的 javascript 版本
var query = new Parse.Query('myclass');
query.equalTo('fieldOne', 'champion');
query.containedIn('fieldTwo', ['USA', 'Brazil']);
query.find();
我希望这就是您要找的...顺便说一句,我能够在文档中找到它,https://parse.com/docs/js_guide#queries。文档非常有用,但有时对我没有帮助:P
在云代码中,我使用这种代码进行了查询:
theMainQuery = new Parse.Query("myClass");
theMainQuery.equalTo("fieldOne", "champion");
theSubQuery = new Parse.Query("myClass");
theSubQuery.equalTo("fieldTwo", "USA");
the2ndSubQuery = new Parse.Query("myClass");
the2ndSubQuery.equalTo("fieldTwo", "BRASIL");
theSubQuery = Parse.Query.or(theSubQuery,the2ndSubQuery);
theMainQuery = Parse.Query.and(theMainQuery,theSubQuery);
换句话说我想要一个基于这个条件的查询:
((fieldOne equals "champion") and ((fieldTwo equals "USA") or (fieldTwo equals "BRASIL")))
在通常的C风格写作中我想select记录匹配:
((fieldOne == "champion") && ((fieldTwo == "USA") || (fieldTwo == "BRASIL")))
问题是它不起作用,我想我的 Parse.Query.and
是错误的。那怎样才能得到我想要的结果呢?
当然,我很乐意避免以这种长格式重新制定查询:
(((fieldOne == "champion") && (fieldTwo == "USA")) || ((fieldOne == "champion") && (fieldTwo == "BRASIL")))
好的,你想做的事情可以在一个查询对象中完成。
我感觉你要找的是'containedIn'...所以你指定了键'fieldTwo',然后传入一个值数组给'or'。
我认为它应该是这样的,我在 Objective-C 而不是 javascript 中实现了它。但这是我的 javascript 版本
var query = new Parse.Query('myclass');
query.equalTo('fieldOne', 'champion');
query.containedIn('fieldTwo', ['USA', 'Brazil']);
query.find();
我希望这就是您要找的...顺便说一句,我能够在文档中找到它,https://parse.com/docs/js_guide#queries。文档非常有用,但有时对我没有帮助:P