解析服务器中的过滤器 "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
) 进行查询,并在客户端进行排序——按匹配的标签计数排序。
我想知道是否有办法在解析服务器的查询中使用 "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
) 进行查询,并在客户端进行排序——按匹配的标签计数排序。