我当前的firebase数据库结构:
allEvents
eventId
title: eventA
startTime
prizeIdC
status:scheduled
eventId
title: eventB
startTime
prizeIdB
status: active
eventId
title: eventC
startTime
prizeIdB
status: expired
activeEvents
eventId
title: eventB
startTime
prizeIdB
status: active
expiredEvents
eventId
title: eventC
startTime
prizeIdB
status: expired
Prizes
prizeIdA
title: prizeA
image
prizeIdB
title: prizeB
image
prizeIdC
title: prizeC
image
我向一组用户显示活动和过期事件。我成功地通过在“activeEvents”和“expiredEvents”上设置侦听器来检索活动和过期的事件数据。但是,由于奖品可以独立于我想要在每个赛事数据中包含prizeId的赛事进行编辑。但是现在我遇到了问题,因为我想在与事件相关的奖品数据上设置一个监听器。我试图通过迭代snapshot.val()并生成一个prizeIds数组来解决这个问题,然后迭代那些prizeIds并为每个人设置听众
const prizeRef = `prizes/${prizeId}`
database.ref(prizeRef).on('value')
然而,这变成了一个复杂的过程,因为我现在使用async.map迭代prizeId数组来设置监听器并检索prizeData。我的问题/需要必须有更简单的解决方案。