我已成功将数据保存到Firebase
const productsRef = db.collection("store").doc(userID).collection("products");
productsRef
.doc(productID)
.set({
userID: userID,
productCatagory: productCatagory.value,
productCode: productID,
productName: productName.value,
price: price.value,
description: description.value,
time: time,
})
.then(function () {
console.log("Document successfully written!");
})
.catch(function (error) {
console.error("Error writing document: ", error);
});
但是当我尝试检索它时,firestore发送“没有此类文档”。试图获取对象数组。
db.collection("store")
.doc(userID)
.get()
.then((doc) => {
if (doc.exists) {
console.log(doc.data());
} else {
// doc.data() will be undefined in this case
console.log("No such document!");
}
})
.catch(function (error) {
console.log("Error getting document:", error);
});
这是数据库
编辑:我发现,要访问所有文档,您必须采用这种方式。
db.collection("store")
.get()
.then((querySnapshot) => {
querySnapshot.forEach((doc) => {
// doc.data() is never undefined for query doc snapshots
console.log(doc.data());
});
})
.catch((e) => {
console.log(e);
});
它进入then块,但是querySnapshot.forEach没有运行
答案 0 :(得分:1)
好的,所以我找到了解决方法。
db.collection(`store/${userID}/products`)
.get()
.then((querySnapshot) => {
querySnapshot.forEach((doc) => {
console.log(doc.data());
});
});