我有一个代码:
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
答案 0 :(得分:0)
尝试log
快照并检查其是否为数组。You might be looking for this
答案 1 :(得分:0)
由于您的ref
指向特定文档,因此您的onSnapshot
回调将被一个没有forEach()
的单个DocumentSnapshot
调用。
如果您要附加到整个集合或查询中,则会得到一个QuerySnapshot
,其中 具有一个forEach
方法。
如果您确实想为知道其ID的单个文档获取QuerySnapshot
,则可以对文档ID进行查询:
const ref = db.collection('categories').where(firebase.firestore.FieldPath.documentId(), '==', uid)