Java ParseQuery-两列之间的and

Java ParseQuery-两列之间的and,java,android,parse-platform,Java,Android,Parse Platform,我正在为我的应用程序使用Parse。我的类(消息)有“fromId”、“toId”等列。 我正在寻找最好的查询方法,该查询提供包含列'fromId'中的id1或id2以及'toId'中的id1或id2的行,这意味着我正在查找id1发送给id2的消息或id2发送给id1的消息示例代码: ParseQuery<Message> query = ParseQuery.getQuery(Message.class); query.orderByAscending("crea

我正在为我的应用程序使用Parse。
我的类(消息)有“fromId”、“toId”等列。
我正在寻找最好的查询方法,该查询提供包含列'fromId'中的id1或id2以及'toId'中的id1或id2的行,这意味着我正在查找id1发送给id2的消息或id2发送给id1的消息
示例代码:

    ParseQuery<Message> query = ParseQuery.getQuery(Message.class);

    query.orderByAscending("createdAt");
    query.whereContainedIn("FromId",fromIds/*list of id1,id2*/);
    query.whereContainedIn("toId",fromIds/*list of id1,id2*/);
    .....
ParseQuery=ParseQuery.getQuery(Message.class);
query.orderByAscending(“createdAt”);
query.whereContainedIn(“FromId”,fromIds/*id1的列表,id2*/);
query.whereContainedIn(“toId”,来自ids/*id1的列表,id2*/);
.....

谢谢:)

据我所知,您正在寻找一个
或类似
的查询,而不是
。为此

简而言之,您应该创建两个不同的查询,并将它们与
ParseQuery.or()合并在一起:

ParseQuery from=ParseQuery.getQuery(“消息”);
from.其中包含在(“fromId”,列表)中;
ParseQuery to=ParseQuery.getQuery(“消息”);
至。若包含在(“toId”,列表中);
列表查询=新建ArrayList();
查询。添加(从);
查询。添加(到);
ParseQuery mainQuery=ParseQuery.or(查询);
findInBackground(…);
ParseQuery<Message> from = ParseQuery.getQuery("Message");
from.whereContainedIn("fromId",list);

ParseQuery<Message> to = ParseQuery.getQuery("Message");
to.whereContainedIn("toId",list);

List<ParseQuery<Message>> queries = new ArrayList<ParseQuery<ParseObject>>();
queries.add(from);
queries.add(to);

ParseQuery<Message> mainQuery = ParseQuery.or(queries);
mainQuery.findInBackground(...);