假设您有一个用户集合,其中每个用户都是
users
集合,为了解决此问题,建议您添加类型为的新属性
array
在这样的每个用户对象下:
Firestore-root
|
--- users (collection)
|
--- uid (document)
|
--- blockedUsers: ["friendUid", "friendUid"]
|
--- //other user properties
搜索附近的用户时,请将找到的每个用户添加到列表中。拥有所有附近用户的列表,您现在可以检查搜索附近用户的用户是否在
blockedUsers
是否列出。您可以使用如下查询来实现此目的:
FirebaseFirestore rootRef = FirebaseFirestore.getInstance();
String uid = FirebaseAuth.getInstance().getCurrentUser().getUid();
Query query = rootRef.collection("users").whereArrayContains("blockedUsers", uid);
通过这种方式,您只能向用户显示已经或尚未将其添加到阻止列表中的附近用户。