无法从 Firestore 文档中删除字段 (Flutter)
Posted
技术标签:
【中文标题】无法从 Firestore 文档中删除字段 (Flutter)【英文标题】:Can't delete field from a firestore document (Flutter) 【发布时间】:2020-10-31 09:46:26 【问题描述】:我正在尝试从 firestore 文档中删除一个字段,但它不起作用。我正在使用相同的路径从 firebase 存储中存储和检索文件,并且 delete() 函数与 firebase 存储完美配合,但不适用于 firestore 文档的字段。代码如下:
Firestore.instance.collection("Albums").document("$userName")
.updateData('$fileName': FieldValue.delete()).whenComplete(() => print("Deleted"));
它会打印“已删除”,但不会从 firestore 文档中删除指定的字段。
【问题讨论】:
【参考方案1】:您将文字字符串“$userName”和“$fileName”传递给 Firestore,而不是变量 userName
和 fileName
的值。如果您想使用变量的值,请这样做:
var data = ;
data[fileName] = FieldValue.delete();
Firestore.instance.collection("Albums").document(userName)
.updateData(data)
【讨论】:
【参考方案2】:正如道格所说,您似乎正在传递文字字符串。可以参考官方Firestore documentation指导。还有更多例子here
var cityRef = db.collection('cities').doc('BJ');
// Remove the 'capital' field from the document
var removeCapital = cityRef.update(
capital: firebase.firestore.FieldValue.delete()
);
【讨论】:
以上是关于无法从 Firestore 文档中删除字段 (Flutter)的主要内容,如果未能解决你的问题,请参考以下文章
无法使用 SwiftUI 从 Firebase / Firestore 中删除文档
FieldValue.delete() 不会删除 firestore 文档中的字段键