【问题标题】:how to update nested object in Firebase firestore DB [duplicate]如何更新 Firebase Firestore DB 中的嵌套对象 [重复]
【发布时间】:2020-10-05 04:11:04
【问题描述】:

我正在尝试更新我正在使用 Web SDK 的 firestore 数据库中的嵌套对象。这是我希望更新的对象的格式:

{
  "name": "Math",
  "sections": {
    "section1": {
      "sectionName": "Introduction",
      "lessonsObj": {
        "1": {
          "pageResource": "page resource",
          "title": "Intro"
        }
      }
    }
  },
  "description": "Lorem ipsum."
}

我想更新 LessonObj 对象中第一课的 title 属性。 section1 的值和课程密钥号 1 将是动态的,但我不确定我该怎么做?

这是 FB Firestore 中的结构截图:

【问题讨论】:

  • 这里显示的是单个文档的结构吗?如果您提供来自控制台的屏幕截图,可能会更容易查看您正在使用的内容。请编辑问题以使其更清楚。
  • 如果它是您的问题中显示的单个文档,那么以下可能会帮助[您 db.collection(CollectionName).doc("math").update({ "sections.section1.lessonsObj.1. title": "更改标题名称" })
  • @DougStevenson 我已经添加了来自控制台的屏幕截图。

标签: javascript firebase google-cloud-firestore


【解决方案1】:

您可以使用点表示法构建嵌套在地图中的字段的路径,如documentation 中所述。

document.update({
    "JavaScript.sections.section1.1.title": "value"
})

您需要以字符串形式提供完整路径。您可以根据需要使用变量以任何方式构建该字符串。您只需要能够调出值的全名。

如果任何嵌套对象是数组,这将不起作用。

【讨论】:

  • 我错过了点符号部分,谢谢。
猜你喜欢
  • 2021-12-15
  • 2016-02-20
  • 1970-01-01
  • 2019-02-13
  • 2023-04-06
  • 1970-01-01
  • 2021-04-14
  • 2018-11-07
  • 2021-08-06
相关资源
最近更新 更多