I want to check if a value eg (name: 'John') exists in the collection of any document in my Cloud Firestore, because if it does I do not want to create a new document with that name (in this case 'John'). How can I check if the name exists?
Assuming you have in Firestore a collection called "users", to check if a user with the name of "John" already exists, please use the following lines of code:
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());
}
}
});
The result of the above code will be a log statement with the message "name already exists", if a user with the name of "John" already exists in the "users" collection.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.