Итак, у меня есть 2 коллекции
1 коллекция 'users'.Там у меня есть документы (объекты) со свойством 'profile', которое содержит строку.Это идентификатор профиля, который хранится в других «ролях» коллекции как документ.
Так что я пытаюсь получить эти данные, но безуспешно.Существует ли метод соединения или что-то в этом роде?Или я должен использовать обещание для получения данных из ролей сбора, а затем назначить их агенту?
async componentDidMount() {
firebase
.firestore()
.collection('users')
.orderBy('lastName')
.onSnapshot(async snapshot => {
let changes = snapshot.docChanges()
const agents = this.state.agents
for (const change of changes) {
if (change.type === 'added') {
const agent = {
id: change.doc.id,
...change.doc.data()
}
await firebase
.firestore()
.collection('roles')
.doc(change.doc.data().profile).get().then( response => {
//when i get response i want to set for my object from above this val
agent['profile'] = response.data().profile
//after that i want to push my 'agent' object to array of 'agents'
agents.push(agent)
console.log(agent)
}
)
}
}
this.setState({
isLoading: false,
agents: agents
})
})
}