Cloud Firestore не может найти пользовательский идентификатор документа - PullRequest
0 голосов
/ 19 марта 2020

Эта функция возвращает false, если я пытаюсь получить пользовательский идентификатор документа.

Она возвращает true только при вводе идентификатора документа на консоли Firebase.

checkDot() {
     this.db.firestore.collection(this.DOT).doc(this.DOT).get()
     .then( doc => {
      console.log('Data is ', doc.exists);
      if (doc.exists)  {
       // this.isDotExist = true;
      console.log(doc, 'Colection exists');
    } 
else {
      // new Account Create
     console.log('Colection doos not exist');
     this.presentConfirm();
    }
     });

Эта функция сохраняет пользовательский ввод в базе данных

  async createNewAccount() {

  // Binding data from user input
  const { Company, Fname, Email, Password } =  this;
  try {
    // creating user account 
    const res = await this.afAuth.auth.createUserWithEmailAndPassword(Email, Password).then(cred => {
     // DOT value passed by another page, others from user input 
      this.db.collection(this.DOT).doc(this.DOT).collection(Company).doc(Fname).set({ Name: Fname });

    });
    this.showAlert('Succes', 'You have successfully registered!');
    this.route.navigate(['']);
    console.log(res);
  } catch (err) {
    this.showAlert('Error', err.message);
    // console.dir(err);
  }
}

1 Ответ

0 голосов
/ 19 марта 2020

Поскольку вы можете проверить этот вопрос из сообщества Запрос документов Firebase Firestore по идентификатору , существует специальный метод, который вы можете использовать запрос через documentId. Метод такой: 'FieldPath.documentId ()'

Другая ссылка - официальная документация Выполнить запрос , где вы можете найти следующий пример кода, который вы можете использовать в качестве начальной точки , чтобы вернуть документы с помощью идентификатора.

db.collection("collection").where("document", "==", true)
    .get()
        .then(function(querySnapshot) {
            querySnapshot.forEach(function(doc) {
               // doc.data() is never undefined for query doc snapshots
               console.log(doc.id, " => ", doc.data());
            });
        })
    .catch(function(error) {
    console.log("Error getting documents: ", error);
});

Кроме того, существует следующий вопрос от Сообщества с дополнительной информацией и примерами, похожими на ваши, которые могут вам помочь.

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

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