无法以本机方式从 Firebase Firestore 获取数据
Unable to fetch data from Firebase Firestore in react native
我正在尝试从 Firestore 获取数据,但我看不到数据。我正在构建一个本机反应应用程序。我正在使用 react-native-firebase。
我还尝试了 react-native-firebase 文档中的 Transactions 方法。但是没有任何效果。
这是我的代码:
firebase.firestore().collection('users').doc(uid)
.get()
.then((doc)=>{
console.log(doc)
console.log(doc.data().shoppinglist)
})
.catch(e => console.log(e));
控制台日志记录 .get() 给了我一个承诺。
我得到这样的承诺:
Promise {_40: 0, _65: 0, _55: null, _72: null}
_40: 0
_55: null
_65: 0
_72: null
但是 .then() 不会执行,因为两个 console.log() 没有记录任何内容。
请帮帮我。 Firebase 很新。
在 Firebase 文档中 digging 之后,我找到了解决方案。
Collection references and document references are two distinct types of references and let you perform different operations. For example, you could use a collection reference for querying the documents in the collection, and you could use a document reference to read or write an individual document.
因此,将 firebase.firestore().collection('users').doc(uid)
替换为 firebase.firestore().doc(`users/${uid}`)
解决了我的问题。
对于像我这样的firebase傻瓜,如果你想要一个自定义文档id,你必须在写入数据到firestore时指定它
import firestore from '@react-native-firebase/firestore';
firestore()
.collection('Users')
.doc('ABC')
.set({
name: 'Ada Lovelace',
age: 30,
})
.then(() => {
console.log('User added!');
});
那你就可以通过
import firestore from '@react-native-firebase/firestore';
const user = await firestore().collection('Users').doc('ABC').get();
我正在尝试从 Firestore 获取数据,但我看不到数据。我正在构建一个本机反应应用程序。我正在使用 react-native-firebase。
我还尝试了 react-native-firebase 文档中的 Transactions 方法。但是没有任何效果。
这是我的代码:
firebase.firestore().collection('users').doc(uid)
.get()
.then((doc)=>{
console.log(doc)
console.log(doc.data().shoppinglist)
})
.catch(e => console.log(e));
控制台日志记录 .get() 给了我一个承诺。
我得到这样的承诺:
Promise {_40: 0, _65: 0, _55: null, _72: null}
_40: 0
_55: null
_65: 0
_72: null
但是 .then() 不会执行,因为两个 console.log() 没有记录任何内容。
请帮帮我。 Firebase 很新。
在 Firebase 文档中 digging 之后,我找到了解决方案。
Collection references and document references are two distinct types of references and let you perform different operations. For example, you could use a collection reference for querying the documents in the collection, and you could use a document reference to read or write an individual document.
因此,将 firebase.firestore().collection('users').doc(uid)
替换为 firebase.firestore().doc(`users/${uid}`)
解决了我的问题。
对于像我这样的firebase傻瓜,如果你想要一个自定义文档id,你必须在写入数据到firestore时指定它
import firestore from '@react-native-firebase/firestore';
firestore()
.collection('Users')
.doc('ABC')
.set({
name: 'Ada Lovelace',
age: 30,
})
.then(() => {
console.log('User added!');
});
那你就可以通过
import firestore from '@react-native-firebase/firestore';
const user = await firestore().collection('Users').doc('ABC').get();