Firebase: как определить уникальность поля? - PullRequest
0 голосов
/ 14 марта 2019

Я пытаюсь сделать запрос к пожарному магазину, который сообщает мне, является ли значение уникальным (например, имя пользователя)

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
      }

    },
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...