解析查询中的和运算符
And Operator in parse Query
我试图只从服务器中获取那些与两个字段匹配的对象。为此,我需要一个 and
运算符。我不知道如何在解析查询中使用 and 运算符。我以前在解析查询中使用过 Or
运算符。
Or
运算符与我在程序中要求的相反。我在下面给出了一个 Or
运算符示例。请告诉我如何使 mainQuery 等于 whereContainedIn(myList1 AND myList2)
ParseQuery myQuery1 = new ParseQuery("myTable");
myQuery1.whereContainedIn("key", myList1);
ParseQuery myQuery2 = new ParseQuery("myTable");
myQuery2.whereContainedIn("key", myList2);
List<ParseQuery<ParseObject>> queries = new ArrayList<ParseQuery<ParseObject>>();
queries.add(myQuery1);
queries.add(myQuery2);
ParseQuery<ParseObject> mainQuery = ParseQuery.or(queries);
Now the mainQuery is equal to whereContainedIn(myList1 OR myList2)
如果要在 myTable 中搜索键值包含在 myList1、myList2 中的元素,您可以创建一个包含每个元素内容的新列表或调用 whereContainedIn 方法两次:
ParseQuery myQuery1 = new ParseQuery("myTable");
myQuery1.whereContainedIn("key", myList1);
myQuery1.whereContainedIn("key", myList2);
// Test first if the Query builder retains both lists or if myList1 is replaced with myList2
// OR
// Only use unique values
Set<T> mySet = new HashSet<T>();
set.addAll(myList1);
set.addAll(myList2);
List<T> myNewList = new ArrayList<T>(mySet);
ParseQuery myQuery1 = new ParseQuery("myTable");
myQuery1.whereContainedIn("key", myNewList);
我试图只从服务器中获取那些与两个字段匹配的对象。为此,我需要一个 and
运算符。我不知道如何在解析查询中使用 and 运算符。我以前在解析查询中使用过 Or
运算符。
Or
运算符与我在程序中要求的相反。我在下面给出了一个 Or
运算符示例。请告诉我如何使 mainQuery 等于 whereContainedIn(myList1 AND myList2)
ParseQuery myQuery1 = new ParseQuery("myTable");
myQuery1.whereContainedIn("key", myList1);
ParseQuery myQuery2 = new ParseQuery("myTable");
myQuery2.whereContainedIn("key", myList2);
List<ParseQuery<ParseObject>> queries = new ArrayList<ParseQuery<ParseObject>>();
queries.add(myQuery1);
queries.add(myQuery2);
ParseQuery<ParseObject> mainQuery = ParseQuery.or(queries);
Now the mainQuery is equal to whereContainedIn(myList1 OR myList2)
如果要在 myTable 中搜索键值包含在 myList1、myList2 中的元素,您可以创建一个包含每个元素内容的新列表或调用 whereContainedIn 方法两次:
ParseQuery myQuery1 = new ParseQuery("myTable");
myQuery1.whereContainedIn("key", myList1);
myQuery1.whereContainedIn("key", myList2);
// Test first if the Query builder retains both lists or if myList1 is replaced with myList2
// OR
// Only use unique values
Set<T> mySet = new HashSet<T>();
set.addAll(myList1);
set.addAll(myList2);
List<T> myNewList = new ArrayList<T>(mySet);
ParseQuery myQuery1 = new ParseQuery("myTable");
myQuery1.whereContainedIn("key", myNewList);