【发布时间】:2019-05-14 23:14:50
【问题描述】:
我是第一次在 Flutter 中开发一个项目,并试图找到组织我的 Firestore 数据库的最佳方式。我相信我有我想要的方式,但无法弄清楚如何正确查询它。
我有一个用户,其 ID 指向一个集合,该集合将玩家个人资料与其用户个人资料相关联(在单独的集合中)。
我需要:
- 获取 Firebase currentUser uid
- 找到相关的玩家资料
- 获取保存到玩家个人资料的事件 ID
- 基于 ID 的事件列表
我猜是这个顺序。
DatabaseReference getCurrentUserRef() async {
return this.usersRef.child((await this.getCurrentUser()).uid);
}
var user = await getCurrentUserRef()
var _playerEvents = [];
db.collection('player').where('id', isEqualto: user).get().then((doc) => {
db.collection('player').doc(doc.data().id).collection('events').get().then((snapshot) => {
snapshot.forEach(doc) {
_playerEvents.push(doc.data().id);
}
});
});
然后使用该数组,我需要根据这些 id 获取所有事件(如果有的话)
_playerEvents.forEach(event) {
db.collection('events').where('id', isEqualTo: event).get().then((doc) => {
//somehow popular a Map or JSON that I can show in a list view on the page for the events associated with that player
List_Item for display
});
}
这是我的数据库的一些屏幕。我正在学习使用飞镖的 Flutter。任何帮助都会很棒。
【问题讨论】:
标签: firebase dart flutter google-cloud-firestore