我有一个代码:
const { uid } = firebaseConfig.auth().currentUser;
const ref = db.collection('categories').doc(uid);
ref.onSnapshot(
snapshot => {
snapshot.forEach(item => console.log(item.data()));
},
err => {
console.log(`Encountered error: ${err}`);
}
); 我得到了错误:Uncaught TypeError: snapshot.forEach is not a function,我哪里出错了?firebase版本:^6.2.0
发布于 2019-06-20 18:24:48
尝试log快照并检查它是否为数组。You might be looking for this
发布于 2019-06-20 18:37:25
由于您的ref指向特定的文档,因此您的onSnapshot回调将由一个没有forEach()的DocumentSnapshot调用。
如果附加到整个集合或查询,就会得到一个具有forEach方法的QuerySnapshot。
如果您确实想要获得单个文档的QuerySnapshot,您可以使用对文档ID的查询:
const ref = db.collection('categories').where(firebase.firestore.FieldPath.documentId(), '==', uid)https://stackoverflow.com/questions/56683742
复制相似问题