Я пытаюсь запросить значение из документа в коллекции, в базе огня, в частности, «currentKilos»:
Я использую следующую функцию для запроса:
showKiols = () => {
db.collection('users').doc(this.props.user.uid).collection('mainData').doc('currentKilos').get().then.subscribe(value=> {
this.updatedKilos = value;
alert(this.updatedKilos);
})
}
Однако я получаю прикрепленную ошибку:
Кроме того, я также попробовал функцию ниже, но она не работает:
db.collection('users').doc(this.props.user.uid).collection('mainData').doc('currentKilos').valueChanges().subscribe(value => {
this.updatedKilos = value.currentKilos;
alert(this.updatedKilos)
})
К вашему сведению, это функция для добавления currentKilos в firebase, и она работает нормально:
updateKilos = () => {
db.collection('users').doc(this.props.user.uid).collection('mainData').doc('currentKilos').set({ currentKilos: this.state.currentKilos })
alert('Data Updated')
}
Ценю твою поддержку.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Я не знаю, откуда вы взяли get().then.subscribe(), но, по крайней мере, then должно быть then((value)=>{...}).
Попробуйте следующее:
showKiols = () => {
db.collection('users')
.doc(this.props.user.uid)
.collection('mainData')
.doc('currentKilos')
.get()
.then(value => {
this.updatedKilos = value.data();
alert(this.updatedKilos);
})
}
Извините, я забыл включить .data() из value возвращенных. Попробуйте это сейчас.
Нет, нужно извиниться, и я очень ценю вашу поддержку. Он по-прежнему дает «Объект Объект». Я даже пытался использовать JSON.stringify(this.updated Kilos), но тоже не работал
Я попробовал еще раз с приведенным ниже кодом, и он работает :) showKiols = () => { db.collection('users').doc(this.props.user.uid).collection('mainData'). doc('currentKilos').get().then(value=> { this.updatedKilos = value.data(); alert(JSON.stringify(this.updatedKilos)); }) } Вы действительно сделали мой день :)
Большое спасибо за вашу поддержку. Но это дает значение как «Объект Объект». И когда я изменяю функцию, как показано ниже: showKiols = () => { db.collection('users').doc(this.props.user.uid).collection('mainData').doc(' currentKilos’).get().then(value=> { this.updatedKilos = value.currentKilos; alert(this.updatedKilos); }) } дает неопределенное значение