无法从Firestore文档中删除字段(Flutter)

时间:2020-07-10 15:47:16

标签: flutter dart google-cloud-firestore

我正在尝试从Firestore文档中删除字段,但无法正常工作。我使用相同的路径来存储和从Firebase存储中检索文件,并且delete()函数与Firebase存储完美配合,但与Firestore文档的字段不能完美配合。这是代码:

Firestore.instance.collection("Albums").document("$userName")
    .updateData({'$fileName': FieldValue.delete()}).whenComplete(() => print("Deleted"));

它会打印“已删除”,但不会从Firestore文档中删除指定的字段。

2 个答案:

答案 0 :(得分:1)

您正在将文字字符串“ $ userName”和“ $ fileName”传递给Firestore,而不是变量userNamefileName的值。如果要使用变量的值,请按以下步骤操作:

var data = {};
data[fileName] = FieldValue.delete();
Firestore.instance.collection("Albums").document(userName)
    .updateData(data)

答案 1 :(得分:1)

正如道格所说,似乎您正在传递文字字符串。您可以参考官方的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()
});