【问题标题】:How do I delete a nested array without knowing its index?如何在不知道其索引的情况下删除嵌套数组?
【发布时间】:2019-04-13 08:35:38
【问题描述】:

我已经将嵌套数组作为数组中的一种映射形式,但是当我需要删除其中一个时,我不知道如何获取我需要删除的确切一个。

Firebase 数据库 - 云:

getFirestore()
  .collection("projects")
  .doc(projectId)
  .update({
      keyResults: getFirestore().FieldValue.arrayRemove({ ????? })
   })

上面的代码不起作用。

我想从keyResults 数组中删除第二个。

【问题讨论】:

  • 如果您不知道它的索引,那么您对要删除的项目做什么?请注意,您分享的屏幕截图中没有带有id: 2 的项目,所以这不起作用。
  • 如果您不知道如何完全指定要从数组中删除的项目,则必须编写代码来读取文档,使用任何信息在数组中找到要删除的项目你有,从内存中的数组中删除该项目,然后将文档的内容写回数据库。您将无法在一次操作中完成此操作。
  • 对不起。我编辑了我的问题。感谢您的友好评论

标签: javascript arrays nested react-redux google-cloud-firestore


【解决方案1】:

我不确定我是否理解正确,但为什么不使用 Array.splice 呢?

const fireStore = getFirestore()
const keyResults = fireStore.FieldValue
      keyResults.splice(1, 1)

fireStore
.collection("projects")
.doc(projectId)
.update({keyResults})

【讨论】:

    猜你喜欢
    • 2021-01-05
    • 1970-01-01
    • 1970-01-01
    • 2013-08-06
    • 2016-07-21
    • 2010-11-23
    • 1970-01-01
    • 2021-06-28
    • 1970-01-01
    相关资源
    最近更新 更多