我有以下数据库结构:
private void dataGridYT_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
if (dataGridYT.Columns[e.ColumnIndex].Name == "Thumbnail")
{
e.Value = GetImageFromUrl("https://i.ytimg.com/vi/oZItXZtkmzg/default.jpg");
dataGridYT.Columns[e.ColumnIndex].DefaultCellStyle.BackColor = Color.Azure;
}
}
private object GetImageFromUrl(string url)
{
HttpWebRequest httpWebRequest = (HttpWebRequest)HttpWebRequest.Create(url);
using (HttpWebResponse httpWebReponse = (HttpWebResponse)httpWebRequest.GetResponse())
{
using (Stream stream = httpWebReponse.GetResponseStream())
{
return Image.FromStream(stream);
}
}
}
我使用以下代码删除文档:
Firestore-root
|
--- users (collection)
| |
| --- userId (document)
| |
| --- //user details
|
--- products (collection)
|
--- listId (document)
|
--- listProducts (collection)
|
--- productId
|
--- //product details
第一行代码完美无缺,但第二行没有删除rootRef.collection("users").document(userId).delete(); //works fine
rootRef.collection("products").document(listId).delete();
文档。是因为它下面有一个子集合还是我做错了什么?
如何删除整个list
文档及其下面的所有内容?
谢谢!
答案 0 :(得分:2)
删除该文档时,不会自动删除嵌套在文档下的集合。当您仅删除文档本身时,Firebase控制台将以斜体显示文档ID。文档本身不再存在(当你选择它时可以看到它,因为它没有任何字段),但嵌套的集合仍然可以访问。
所以我怀疑products
文档已经消失,但嵌套的集合仍然存在。正如Firestore documentation on deleting collection所述,您需要从集合中删除文档以删除它。