如果我尝试获取自定义文档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);
}
}
答案 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);
});
除此之外,社区中还有一个以下问题,其中包含与您的相似内容相关的更多信息和示例,可能会对您有所帮助。
让我知道信息是否对您有帮助!