我如何检查一个值是否例如名称是否存在于 Cloud Firestore 中任何文档的集合中?

2024-06-28

我想检查一个值是否例如(名称:“John”)存在于我的 Cloud Firestore 中任何文档的集合中,因为如果存在,我不想创建具有该名称的新文档(在本例中为“John”)。如何检查该名称是否存在?


假设您在 Firestore 中有一个名为“users”的集合,要检查名为“John”的用户是否已存在,请使用以下代码行:

FirebaseFirestore rootRef = FirebaseFirestore.getInstance();
CollectionReference usersRef = rootRef.collection("users");
Query queryUsersByName = usersRef.whereEqualTo("name", "John");
queryUsersByName.get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
    @Override
    public void onComplete(@NonNull Task<QuerySnapshot> task) {
        if (task.isSuccessful()) {
            for (DocumentSnapshot document : task.getResult()) {
                if (document.exists()) {
                    Log.d("TAG", "name already exists");
                } else {
                    //Do what you need to do
                }
            }
        } else {
            Log.d("TAG", "Error getting documents: ", task.getException());
        }
    }
});

如果“users”集合中已存在名为“John”的用户,则上述代码的结果将是一条带有消息“name已经存在”的日志语句。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我如何检查一个值是否例如名称是否存在于 Cloud Firestore 中任何文档的集合中? 的相关文章

随机推荐