Javascript 如何从密钥中访问数据
我试图访问一个由键引用的数据对象。在本例中,我们在事件中嵌套了“申请人”数据。我正试图用这些数据创建一个新对象。我可以访问顶级事件数据和每个申请者的密钥,但我不知道如何访问申请者数据-例如,申请日期、备注和状态 我想说一些类似applicationStatus=key.status的东西,但这不起作用Javascript 如何从密钥中访问数据,javascript,vue.js,Javascript,Vue.js,我试图访问一个由键引用的数据对象。在本例中,我们在事件中嵌套了“申请人”数据。我正试图用这些数据创建一个新对象。我可以访问顶级事件数据和每个申请者的密钥,但我不知道如何访问申请者数据-例如,申请日期、备注和状态 我想说一些类似applicationStatus=key.status的东西,但这不起作用 onCreateApplication () { fb.eventsCollection.orderBy('startDate', 'desc').onSnapshot(querySnapsh
onCreateApplication () {
fb.eventsCollection.orderBy('startDate', 'desc').onSnapshot(querySnapshot => {
let appsArray = []
querySnapshot.forEach(doc => {
let event = doc.data()
let eventId = doc.data().id
let eventTitle = doc.data().title
let eventSlug = doc.data().slug
let applications = doc.data().applicants
let appStatus = doc.data().applicants.status
for (var key in doc.data().applicants) {
let eventData = {
id: eventId,
title: eventTitle,
slug: eventSlug
}
let userData = {
id: key
}
let application = {
event: eventData,
user: userData,
status: key.status????????,
appliedDate: key.created??????
}
fb.applicationsCollection.add(application)
}
})
})
},
这是我对您的数据结构的最佳猜测。我希望这有帮助,并请评论,以澄清任何其他事情
onCreateApplication(){
fb.eventsCollection.orderBy('startDate', 'desc').onSnapshot(querySnapshot => {
querySnapshot.forEach(doc => {
let data = doc.data();
let applications = Object.keys(data.applicants).map(function(id){
let application = {
event: {
id: data.id,
title: data.title,
slug: data.slug
},
user: {
id: id
},
status: data.applicants[id].status,
appliedDate: data.applicants[id].created
})
fb.applicationsCollection.add(application);
return application;
})
})
})
}
你什么意思我想说applicationStatus=key.status,但那不起作用。?你会遇到什么错误?这让人困惑:让applications=doc.data().applicators;让appStatus=doc.data().applicators.status;是对象还是数组?你能分享doc.data()的json对象吗?David,doc.data()里面有很多东西。。。这里的顶部部分也显示了“申请者”已接受的部分:2322209添加弃权:“ageRequirement:”18“申请者:{01YsU8aPIfPd725ygJLGUmbnmOk2:{…},0DGIQ0MGYMO2RPYPLPYLS6GMVSJPP2:{…},0FHG4QX8QTZKBDxVJDWHSKQPE2:{…},0QLBZ6N7WHQSPHBPLvLJQP2:{…},0RNOT3DUQUDNX7JGF6WVOFONS1:{…},}申请部分:2322213巴巴多斯:真正的调酒师:真正的调酒师“申请人”中的每个申请:申请人:0DgIQ0mGYmO2frPpylS6gmvSjPP2:createdAt:“2018年5月15日星期二19:50:54 GMT-0700(PDT)”日期:“2018年5月19日星期六16:20:26 GMT-0700(太平洋夏令时)”删除:“2018年5月25日星期五16:55:31 GMT-0700(PDT)”媒体:真实注释:“班次:“全职”签名:“Marcello Sanchez III”状态:“放弃”弃权:真实