【发布时间】:2021-07-31 00:51:46
【问题描述】:
我有一个包含歌曲列表的 Cloud Firestore 数据库
当用户添加具有相同歌曲标题的歌曲时,我想更新 Document likes 我尝试了更新方法,但它并没有真正起作用,值没有得到更新。我认为我无法真正访问该文档,可能是我在 Cloud Firestore 中的结构有误。
void _saveLike(Song item) async {
FirebaseFirestore.instance
.doc('Songs/${item.title}')
.update({'likes': item.likes}).then((likes) => print('Song updated'));
}
这是我更新值的方法
void checkSong(Song item) {
bool isSongFound = false;
list.forEach((s) {
if (s.title.trim() == item.title.trim()) {
setState(() {
s.likes++;
});
_saveLike(item);
isSongFound = true;
}
});
if (!isSongFound) {
addSong(Song(title: textfieldControllersong.text, like: false, likes: 0));
}
}
这是我检查歌曲是否已经存在的方法。
有没有更好的方法来使用 Cloud Firebase 甚至其他数据库服务来构建列表?
【问题讨论】:
标签: firebase flutter listview google-cloud-firestore