【发布时间】:2019-02-14 19:57:03
【问题描述】:
我正在尝试访问一个键引用的数据对象。在这种情况下,我们将“申请人”数据嵌套在一个事件中。我正在尝试使用该数据创建一个新对象。我可以访问顶级事件数据和每个申请人的密钥,但我不知道如何访问申请人数据 - 例如,申请日期、备注和状态。
我想说一些类似 applicationStatus = key.status 的东西,但这不起作用。
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)
}
})
})
},
【问题讨论】:
-
I'd like to say something like applicationStatus = key.status, but that doesn't work.是什么意思?你遇到了什么错误? -
这令人困惑:let applications = doc.data().applicants;让 appStatus = doc.data().applicants.status; .applicants 是对象还是数组?你能分享一个 doc.data() 的 json 对象吗?
-
大卫,doc.data() 里面有很多内容...这是顶部,还显示“申请人”接受段:2322209 addWaiver:“”ageRequirement:“18”申请人:{01YsU8aPIfPd725ygJLGUmbnmOk2: {...},0DgIQ0mGYmO2frPpylS6gmvSjPP2:{...},0Fhg4qX8QTZKBdxVdvjdWHSKqpe2:{...},0qLbz6n7whQSphbPplVLjwzQjlP2:{...},0rnOT3DUqudNXv7zjGF6wvOFons1:{...},...} appliedSegment:2322213个barbacks:真调酒师:真跨度>
-
然后在“申请人”中是每个应用程序:
-
申请者:0DgIQ0mGYmO2frPpylS6gmvSjPP2:createdAt:“2018 年 5 月 15 日星期二 19:50:54 GMT-0700 (PDT)”日期:“2018 年 5 月 19 日星期六 16:20:26 GMT-0700(太平洋夏令时间) )" drop: "Fri May 25 2018 16:55:31 GMT-0700 (PDT)" media: true note: "" shift: "fullTime" signature: "Marcello Sanchez III" status: "DROP" waiver: true跨度>
标签: javascript vue.js