Как я могу обновить один документ в базе Firestore по его идентификатору?
Я хочу обновить одно "объявление" на основе его идентификатора, но я не знаю, как этого добиться .
Я думаю, смогу ли я передать идентификатор документа в editFunction и оттуда обновить базу документов по переданному идентификатору.
Ниже приведен мой код, который извлекает данные:
retrieveAnnouncement = () => {
const announcements = [];
const id = []
/* retrieve announcements */
firebase.firestore().collection('announcement').get()
.then(querySnapshot => {
querySnapshot.forEach(doc => {
announcements.push(doc.data());
//here is the unique id that I will use later on to update a single document
console.log(doc.id)
});
this.setState({ content: announcements, docID: id });
console.log(announcements)
})
.catch(err => console.log(err));
};
editSingleAnnouncement = () => {
//get the unique id of an announcement and update it.
}
и здесь он отображает данные, поступающие из магазина:
_renderAnnouncement = ({ item }) =>
//display the content of announcement
<Card>
<Text h3>{item.TITLE}</Text>
<Text h5>{item.CONTENT}</Text>
<View style={styles.container}>
<Button title="Edit" containerStyle={{marginLeft: 10, width: 80}} />
<Button title="Delete" buttonStyle={{backgroundColor: 'red'}} containerStyle={{marginLeft: 10, width: 80}} />
</View>
</Card>
и отображает
render () {
return (
<View>
<ScrollView>
<FlatList data={this.state.content} renderItem={this._renderAnnouncement} keyExtractor={item => item.id} />
</ScrollView>
</View>
)}
вот изображение моего приложения
изображение 1