2015-03-31 2 views
0

В облаке кода, я сделал запрос, используя этот вид кода:Parse.Query и-комбинированный выпуск

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 Я хочу, чтобы выбрать записи, соответствующие:

((fieldOne == "champion") && ((fieldTwo == "USA") || (fieldTwo == "BRASIL"))) 

проблема заключается в том, что она не работает, я полагаю мой Parse.Query.and неверно. Тогда как я могу получить результат, который я хочу?

Конечно, я был бы счастлив, чтобы избежать переформулировать запрос в этом длинном формате:

(((fieldOne == "champion") && (fieldTwo == "USA")) || ((fieldOne == "champion") && (fieldTwo == "BRASIL"))) 

ответ

1

Хорошо, так что вы хотите сделать, может быть сделано в рамках одного объекта Query.

Я чувствую, что ваш поиск «содержитIn» ... Итак, вы указываете ключ «fieldTwo» и передаете в массив значений значение «или» с.

Итак, я думаю, что это должно выглядеть, я реализовал это в Objective-C, но не в javascript. но мой Heres Версия 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

+0

По моему опыту, я обычно использую только «или» запросы, когда мне приходится присоединяться к одному запросу с другим, где другой использует «matchQuery». Но это только по моему опыту. Idk, может быть, есть и другие причины. Вероятно, я использовал, я просто не могу думать о них прямо сейчас: P – jsetting32

+0

Действительно, вы правы. Я слишком быстро увидел документа, хотя я тоже посмотрел на него. Большое спасибо. – Michel