首页 > 解决方案 > 如何检查用户是否存在于 Cloud Firestore 中?

问题描述

这是我为用户增加价值的地方。

val user = hashMapOf(
                USER_CONVERSATIONS to arrayListOf(""),
                USER_EMAIL_COLUMN to personEmail,
                USER_NAME_COLUMN to personName,
                USER_PHOTO_URL_COLUMN to personPhoto.toString(),
                USER_ID_COLUMN to personId
            )
 db.collection("users").add(user)

我需要在 Cloud Filestore 中放置哪个规则或在应用程序内部检查?

这是我的结构:https ://imgur.com/a/w0AltSf

感谢您的扩展回答!

我不想用新ID注册我的帐户,并在应用程序中检查这个,给出了答案,谢谢!

标签: javaandroidkotlingoogle-cloud-firestore

解决方案


您可以在插入之前请求知道该文档是否存在。你可以使用这样的东西。

firestore.collection("users").whereEqualTo("id", YOUR_USER_ID)
.limit(1).get()
.addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
                    @Override
                    public void onComplete(@NonNull Task<QuerySnapshot> task) {
                      if (task.isSuccessful()) {
                        // You can check here if document exist.
                        // It will be empty if it doesnt.
                        boolean isEmpty = task.getResult().isEmpty();
                      }
                    }
                });

推荐阅读