java - 如何检查用户是否存在于 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注册我的帐户,并在应用程序中检查这个,给出了答案,谢谢!
解决方案
您可以在插入之前请求知道该文档是否存在。你可以使用这样的东西。
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();
}
}
});
推荐阅读
- sql - 如何根据指示重复的列创建重复记录
- scala - 迭代数据框并在 Spark SQL 语句中使用这些值
- javascript - jquery select html 不包含选择标签
- angular - 在同一文件中的另一个组件中使用一个组件的变量
- javascript - 像翻页一样反应滚动或滚动一次一定量
- javascript - 如何检查 React Native Elements Native Props
- php - 如何使用 REST api 从特定类别获取帖子
- python - Python多线程 - 不同时运行
- elasticsearch - 嵌套布尔查询如何工作?是否有一个包装器可以禁用所有嵌套级别的嵌套?
- yii2 - Yii 在 ajax 调用中使用 PageCaching 时不起作用