【发布时间】:2021-09-06 11:00:24
【问题描述】:
我有一个简单的应用程序,我可以在其中提交一个 id(字符串)到 firebase firestore,它会保存一个带有 id 和当前时间的对象。
在测试时我注意到一件事:当我直接通过控制台从 firestore 删除数据时,我的应用程序仍然认为数据在数据库中,而当我通过控制台添加数据时,我的应用程序看不到它。只有在我的应用程序中添加和删除数据时,它才能正常工作。这是为什么?如果没有这种奇怪的行为,应用程序不应该只查看数据库中当前的内容吗?
我如何在测试时从数据库中获取数据:
static Future<void> printEntries() async {
QuerySnapshot snapshot = await songList.snapshots().first;
snapshot.docs.forEach((element) {
print('Element in database: ${element['id']}');
});
print('***************');
}
当我点击一个按钮时这个函数被调用。没什么特别的。
songList 是之前声明的变量,如下所示:
static final CollectionReference songList = FirebaseFirestore.instance.collection('MyRoom');
我尝试删除整个集合,但不知何故,我的应用程序仍会获取之前保存的数据,即使 Firestore 控制台没有显示它。
【问题讨论】:
标签: database firebase flutter dart google-cloud-firestore