【问题标题】:Can't delete field from a firestore document (Flutter)无法从 Firestore 文档中删除字段 (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 文档中删除指定的字段。

【问题讨论】:

    标签: flutter dart google-cloud-firestore


    【解决方案1】:

    您将文字字符串“$userName”和“$fileName”传递给 Firestore,而不是变量 userNamefileName 的值。如果您想使用变量的值,请这样做:

    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()
      });
      
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-01-13
        • 2020-11-23
        • 2020-09-11
        • 2018-04-09
        • 2021-07-01
        • 2019-11-25
        • 1970-01-01
        • 2019-01-23
        相关资源
        最近更新 更多