【发布时间】:2021-01-01 22:22:51
【问题描述】:
我返回一个streamBuilder,在streamBuider 内部,它返回一个小部件。
现在我已经用dismissible 包装了一个小部件,以便我可以从cloud_firestore 的集合中删除文档。
showingTheSelectedDateEvents() {
List<Widget> listViewContainer = [];
return StreamBuilder<QuerySnapshot>(
stream: firestoreInstance.collection('eventDetails').snapshots(),
builder: (context, snapshot) {
if (!snapshot.hasData) {
return Center(
child: CircularProgressIndicator(
backgroundColor: Colors.lightBlueAccent,
),
);
}
String theDatabaseDate;
final allDocuments = snapshot.data.docs;
//here we get all the documents from the snapshot.
for (var i in allDocuments) {
theDatabaseDate = i.data()['dateTime'];
if (theDatabaseDate == theDataProvider.databaseSelectedDate) {
print(theDatabaseDate +
" is same as " +
theDataProvider.databaseSelectedDate);
listViewContainer.add(Dismissible(
key: ObjectKey(snapshot.data.docs.elementAt(0)),
onDismissed: (direction) {
firestoreInstance
.collection("eventDetails")
.doc()
.delete()
.then((_) {
print("success!");
});
},
child://here
));
print(listViewContainer.length);
} else {
print("no any events for today");
}
}
return Expanded(
child: ListView(
reverse: true,
padding: EdgeInsets.symmetric(horizontal: 10.0, vertical: 20.0),
children: listViewContainer,
),
);
},
);
}
我尝试使用此方法从 cloud_firestore 中删除数据
key: ObjectKey(snapshot.data.docs.elementAt(0)),
onDismissed: (direction) {
firestoreInstance
.collection("eventDetails")
.doc()
.delete()
.then((_) {
print("success!");
});
},
我想从集合中删除特定文档
我不知道该怎么做。
这是数据库模型
我正在尝试删除eventDetails集合的文档。
【问题讨论】:
-
您要删除什么文件?你能告诉我们你的数据库模型吗?
-
@Uni 看看更新后的问题
-
firestoreInstance .collection("eventDetails") .doc("你需要在这里传递你的eventdetails集合中的documentID") .delete()
-
@Reign 你能帮我获取当前文档的文档ID吗?
-
snapshot.key 将获取文档 ID
标签: firebase flutter dart google-cloud-firestore