【发布时间】:2020-12-25 04:03:54
【问题描述】:
我开始使用实时数据库创建我的 react 本机 android 应用程序,但后来意识到我无法执行一些查询(例如 where),所以我更改为 cloud firestore,但我发现将用于实时数据库的代码更改为云时遇到问题火库。我有这个用于运行良好的实时数据库
firebase.database().ref('/users').on('value', (snapshot) => {
let data = snapshot.val();
let items = Object.values(data);
this.setState({items});
}).catch(function(error) {
var errorCode = error.code;
var errorMessage = error.message;
this.setState({ errorMessage: errorMessage })
});
我已尝试在 cloud firestore 中生成上面的代码,如下所示,但不起作用(弹出类型错误并指出 snapshot.val 不是函数)。
firebase.firestore().collection('users').get().then((snapshot)=>{
let data = snapshot.val();
let items = Object.values(data);
this.setState({items});
}).catch(function(error) {
var errorCode = error.code;
var errorMessage = error.message;
this.setState({ errorMessage: errorMessage })
});
【问题讨论】:
-
您的代码没有检查错误,因此可能出现问题,而您不知道。我们也看不到您在“用户”下是否有任何文档,因此您的查询可能只是没有返回任何内容,因为没有数据。请编辑问题以更详细地解释什么不符合您的预期。
标签: firebase react-native google-cloud-firestore