Ioni c firestore, как проверить, есть ли идентификатор документа в firestore или нет - PullRequest
0 голосов
/ 12 февраля 2020

Я пытаюсь добавить логин в моем приложении. И это успешно работает, но проблема заключается в том, что каждый раз, когда я захожу с Facebook, это меняет данные пожарного депо. Вот мой код

   onLoginSuccess(res: FacebookLoginResponse) {
    const credential = firebase.auth.FacebookAuthProvider.credential(res.authResponse.accessToken);
    this.fireAuth.auth.signInWithCredential(credential)
      .then((response) => {
      console.log(response);

        this.fb.api('me?fields=id,name,email,first_name,picture.width(720).height(720).as(picture_large)', []).then(profile => {
        this.userData = {email: profile['email'], first_name: profile['first_name'], picture: profile['picture_large']['data']['url'], username: profile['name']}
        console.log(this.userData);
        console.log(this.fireAuth.auth.currentUser.uid);

          let userData =  {
          email: this.userData.email,
          username: this.userData.username,
          photo: this.userData.picture,
          phone: '',
          point : '0',
          uID: this.fireAuth.auth.currentUser.uid
        };

        this.angularFirestore.collection('AppUsers').doc(this.fireAuth.auth.currentUser.uid).set(userData); //Here is the problem
        this.router.navigate(["/select"]);

      })

  });
  }

Мне нужно проверить, есть ли do c, уже доступный с this.fireAuth.auth.currentUser.uid, чтобы он не добавлялся в базу данных. Если он недоступен, он будет храниться в базе данных.

Так что мне нужен метод, как я могу проверить, существует ли docID или нет?

Ответы [ 2 ]

0 голосов
/ 13 февраля 2020

Если ваша проблема заключается в том, что «каждый раз, когда я захожу на Facebook, это меняет данные пожарного депо», вы можете использовать « update » вместо « set ».

Вот документы об этом: Обновление Firestore Do c

0 голосов
/ 13 февраля 2020

Есть несколько способов получить информацию, если документ существует в Firestore или нет.

По этому вопросу Сообщества здесь есть все логи c о том, как создать функцию для проверки отдельного документа в базе данных Firestore - это в Java, но я считаю, что logi c должен вам помочь.

В этом другом сообщении Как я могу получить один документ из Firestore с запросом (я использую Ioni c 4) , есть запрос для возврата одного документа, на тот случай, если вы считаете, что этот подходит вам лучше.

Дайте мне знать, помогла ли вам эта информация!

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