解析服务器中的过滤器 "AND"

Filter "AND" in Parse Server

我想知道是否有办法在解析服务器的查询中使用 "AND" 过滤器。在我的例子中,我想按类别过滤 posts,例如,我有一个列 "tags" (一个数组),在那里,所有与 [=20= 相关的标签] 是。我检索用户感兴趣的标签,然后查询以查找包含任何这些标签的 posts ...

 ParseQuery<ParseObject> query = ParseQuery.getQuery("Posts");
  ArrayList<String> tags = (ArrayList<String>)object.get("myTags");
  query.whereContainedIn("tags", tags);

这个查询的问题是它带来的答案很模糊,比如一个用户关注了一个"Curiosities"标签,同时也关注了"Avengers"标签,我想先展示一下, post 个包含这 2 个标签,而不只是其中一个。

根据 Parse Server 文档..

String[] names = {"Jonathan Walsh", "Dario Wunsch", "Shawn Simon"};
query.whereContainedIn("playerName", Arrays.asList(names));

https://docs.parseplatform.org/android/guide/#query-constraints

whereContainedIn 将查找特定键包含所传递数组中 元素之一的对象。

要获取特定键包含传递数组中所有元素的对象,请使用whereContainedAll.

但是请注意,如果您的目标是按顺序列出匹配项,首先列出匹配 all 标签的对象,然后列出匹配 some 的对象 个标签。然后,您需要使用更宽松的版本 (whereContainedIn) 进行查询,并在客户端进行排序——按匹配的标签计数排序。