Я пишу функцию для генерации уникального имени пользователя для каждого нового пользователя. Сначала назначьте имя пользователя, совпадающее с полным именем пользователя, затем проверьте, существует ли оно в вашей базе данных или нет. Если он существует, добавьте к нему какое-то число, а затем проверяйте снова, пока не найдете новое имя пользователя, которого нет в базе данных.
Ниже приведен код для того же
var generateUsername = function(name){
var username = name;
console.log(username);
var isUsername;
var number = 0;
db.collection("users").where("username", "==", username)
.get()
.then(function(querySnapshot) {
if(querySnapshot.empty){
isUsername = false;
}
else {
isUsername = true;
}
while(isUsername == true){
number++;
username = fullName + number;
console.log(username);
db.collection("users").where("username", "==", username)
.get()
.then(function(querySnapshot) {
if(querySnapshot.empty){
isUsername = false;
}
else {
isUsername = true;
}
})
.catch(function(error) {
console.log("Error getting documents: ", error);
});
}
})
.catch(function(error) {
console.log("Error getting documents: ", error);
});
}
Это не дает мне желаемого результата. L oop работает бесконечно. Куда я делаю не так?