【问题标题】:Delete a array element from a Firestore database从 Firestore 数据库中删除数组元素
【发布时间】:2020-06-11 17:25:51
【问题描述】:

我正在尝试从 Firestore 文档的数组中删除一个元素。但是,到目前为止,我尝试过的方法都没有奏效。我的最后一次尝试是这样的:

  const ref = firestore().collection('events').doc(extraid);
  ref.get().then(document => {
    const thing = document.data();
    const rejected = thing.rejected || [];
    const interested = thing.interested || [];

    const fieldIndex = interested.findIndex(obj => obj.interestedId === sender);
    const fieldToDelete = interested[fieldIndex];
    firebase.firestore.FieldValue(fieldToDelete);
    firebase.firestore.FieldValue.delete(fieldToDelete);
  });

如何从 Firestore 文档的数组中删除元素?

【问题讨论】:

    标签: javascript reactjs react-native google-cloud-firestore


    【解决方案1】:

    您必须按照documentation 的建议将修改后的数组字段update() 返回到文档中。调用 FieldValue.delete() 是不够的 - 这只是创建一个 FieldValue 令牌,您可以将其传递给 update() 以进行更改。它看起来像这样:

    ref.update('interested', FieldValue.delete(fieldToDelete))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-31
      • 1970-01-01
      • 1970-01-01
      • 2016-07-07
      相关资源
      最近更新 更多