Cloud Firestore找不到自定义文档ID

时间:2020-03-19 03:40:28

标签: javascript google-cloud-firestore

如果我尝试获取自定义文档ID,此函数将返回false。

仅当我在Firebase控制台上输入文档ID时,它才返回true。

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 :(得分:0)

正如您可以从社区Query Firebase Firestore documents by the ID中检查该问题一样,有一种特殊的方法可以通过documentId使用查询。方法是这样的:'FieldPath.documentId()'

另一个参考是官方文档Execute Query,您可以在其中找到以下示例代码(可以用作起点,通过ID返回文档)。

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);
});

除此之外,社区中还有一个以下问题,其中包含与您的相似内容相关的更多信息和示例,可能会对您有所帮助。

让我知道信息是否对您有帮助!