【问题标题】:How to query on Firestore sub collection and get spacyfyi document id?如何查询 Firestore 子集合并获取 spacyfyi 文档 ID?
【发布时间】:2022-07-11 21:12:05
【问题描述】:
请仔细阅读我想要的内容。这是我的 Firestore 数据库结构:
Source Image
我想开始查询以查找用户输入的参考代码可用/不在 Firestore 数据库中。我的用户的所有可用推荐代码都存储在 [collection]users--->[uid/Document Id]--->[Field]myRefer。
在我的应用程序中,用户可以使用推荐代码创建一个帐户我想检查输入的推荐代码是否在数据库中可用,我想在哪里显示推荐代码可用的文档 ID。我想在文本视图中显示文档 ID。
请帮助我使用 Android Studio 中的 Java 语言。
【问题讨论】:
标签:
java
android
firebase
google-cloud-platform
google-cloud-firestore
【解决方案1】:
我想检查输入的参考代码是否在数据库中可用
如要检查“users”集合中是否存在@e0f2f67,请使用以下代码行:
String myRefer = "@e0f2f67";
FirebaseFirestore db = FirebaseFirestore.getInstance();
Query queryByMyRefer = db.collection("users").whereEqual("myRefer", myRefer);
queryByMyRefer.get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
if (task.isSuccessful()) {
for (QueryDocumentSnapshot document : task.getResult()) {
if (document.exists()) {
String name = document.getString("name");
Log.d(TAG, name + " already exists");
} else {
Log.d(TAG, name + " does not exists");
}
}
} else {
Log.d(TAG, task.getException().getMessage()); //Never ignore potential errors!
}
}
});
其中myRefer的定义如截图所示,我们可以对比一下。