我试图通过React.js和Webpack来获取snapShot,并遇到了错误Uncaught(承诺)FirebaseError:缺少权限或权限不足。 预先非常感谢。
我怀疑我的Webpack设置在发出异步请求时出错。但是,当我使用相同的设置尝试简单的异步请求时,没有问题。最重要的是,获取文档也可以正常工作。我完全迷失了下一步的工作。
// App.js
componentDidMount() {
this.unsubscribeFromAuth = auth.onAuthStateChanged(async user => {
this.setState({ user });
await createUserProfDoc(user);
});
}
// FireBase代码
export const firestore = firebase.firestore();
export const createUserProfDoc = async (userAuth, additionalData) => {
if (!userAuth) {
return;
}
const userRef = firestore.doc('users/123');
const snapShot = await userRef.get();
console.log(snapShot);
};
答案 0 :(得分:1)
如果错误是由于您共享的代码引起的,则似乎用户无权阅读文档users/123
。
您更有可能希望阅读用户的个人资料文档,该文档通常是在其UID上定义/键入的。在以下代码中:
const userRef = firestore.collection('users').doc(user.uid);
答案 1 :(得分:0)
将其包装在auth函数中
firebase.auth().onAuthStateChanged((user) => {
firebase
.firestore()
.collection('test_data')
.where('winner', '==', true)
.get()
.then((response) => {
response.forEach((item) => {
console.log(item.data())
})
})
})