Firestore-检查用户名是否已经存在 [英] Firestore- checking if username already exists
本文介绍了Firestore-检查用户名是否已经存在的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我需要有关Firestore的帮助.我有一个AllUsers数据集合,其中包含每个用户信息的用户ID文档.我想检查用户名是否已经存在;//该用户名已经存在".我该怎么办?
I need help with Firestore. I have a AllUsers data collection, user id-documents with each user information. I want to check if username already exists; // "That username already exists". How do I do it?
` setupBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
final String user_name = setupName.getText().toString();
Map<String, Object> commentsMap = new HashMap<>();
commentsMap.put("user_id", user_id);
commentsMap.put("timestamp", FieldValue.serverTimestamp());
commentsMap.put("user_name",user_name);
firebaseFirestore.collection("AllUsers").document(user_id).set(commentsMap).addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if(task.isSuccessful()){
Intent asda=new Intent(getApplicationContext(),MainActivity.class);
startActivity(asda);
finish();
}
}
});
`
推荐答案
希望这会有所帮助.
setupBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final String userName = setupName.getText().toString();
CollectionReference usersRef = firestore.collection("Users");
Query query = usersRef.whereEqualTo("username", userName);
query.get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
if(task.isSuccessful()){
for(DocumentSnapshot documentSnapshot : task.getResult()){
String user = documentSnapshot.getString("username");
if(user.equals(userName)){
Log.d(TAG, "User Exists");
Toast.makeText(MainActivity.this, "Username exists", Toast.LENGTH_SHORT).show();
}
}
}
if(task.getResult().size() == 0 ){
Log.d(TAG, "User not Exists");
//You can store new user information here
}
}
});
}
});
这篇关于Firestore-检查用户名是否已经存在的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文