Я пытаюсь сделать запрос к пожарному магазину, который сообщает мне, является ли значение уникальным (например, имя пользователя)
isUnique(value) {
return db.collection('users')
.where('username', '==', value)
.get({source: 'cache'})
.then((snapshot) => {
console.log(snapshot, snapshot.size, snapshot.docs)
return snapshot.size === 0
})
Но это не похоже на работу? мысли?
часть этой проблемы может происходить из vuelidate, при этом isUnique
является функцией проверки в текстовом поле.
async isUnique(value) {
/** previousVuelidateUsernameCall and
* previousVuelidateUsernameValue are added to
* prevent too many calls. If cache is added to the `get()`
* the first call occurs too soon and the cache is never updated.
*/
if (this.previousVuelidateUsernameCall === value) {
return this.previousVuelidateUsernameValue
}
let results = await db.collection('users')
.where('username', '==', value)
.get() //{source: 'cache'}
.then((snapshot) => {
return snapshot.size === 0
})
this.previousVuelidateUsernameValue = results
this.previousVuelidateUsernameCall = value
return results
}
},