【发布时间】:2019-05-03 07:57:10
【问题描述】:
我从一个 firebase 收藏中获得了所有游戏。此游戏合集如下所示:
{
zgaHRO2yW6lafg1ubz4y : { // This is a game
createdOn: Timestamp,
finished: false,
game: "TNhII8jDU23GUZyyqH5X",
players: {
NJ2U5MwVAIww6TWkHMv2: true,
lfNFlKnsbuUJGwINcJ4RMXbNVfs1: true
},
startedBy: "lfNFlKnsbuUJGwINcJ4RMXbNVfs1"
},
QSkjMQS1232ezklmqKSDJoi : { // This is a game
createdOn: Timestamp,
finished: false,
game: "TNhII8jDU23GUZyyqH5X",
players: {
AQSDNJ2U5MwVAIwWkHMv2: true,
lfNFlKnsbuUJGwINcJ4RMXbNVfs1: true
},
startedBy: "lfNFlKnsbuUJGwINcJ4RMXbNVfs1"
}
}
要获取所有游戏,我执行以下操作:
const gamesCollection = db.collection('games')
firebase.gamesCollection.where('finished', '==', false).orderBy('createdOn', 'desc').onSnapshot(querySnapshot => {
querySnapshot.forEach(doc => {
const games = doc.data()
})
})
这很好用:我得到了所有尚未完成的游戏......但现在我想像这样“查询”它们:
- 获取玩家
lfNFlKnsbuUJGwINcJ4RMXbNVfs1参与的所有游戏。 - 获取玩家
lfNFlKnsbuUJGwINcJ4RMXbNVfs1或玩家NJ2U5MwVAIww6TWkHMv2参与的所有游戏
似乎无法弄清楚它是如何完成的......
【问题讨论】:
标签: firebase vue.js google-cloud-firestore