【问题标题】:How to make firestore create nested object as sub collections on write?如何使firestore在写入时创建嵌套对象作为子集合?
【发布时间】:2018-01-01 02:03:28
【问题描述】:

考虑我下面的代码。我希望这段代码在集合测试下创建一个名为项目的子集合,但是项目在测试集合中添加了一个数组字段。请注意,这是针对 firestore 而不是 firebase realtime db。

data = {
"first": "new",
"born": 1815,
"items": [
  {
    "field": 2
  }
 ]
};
db.collection("test").add(data)

【问题讨论】:

    标签: firebase google-cloud-firestore


    【解决方案1】:

    您的data 对象是单个对象,当您使用您提供的代码将单个对象存储为文档时,该对象将占用该单个文档。

    如果您想将数据写入子集合,则必须单独编写,API 非常清楚您希望在它下面有一个子集合:

    db.collection("test")
        .document("doc_id")
        .collection("items")
    

    或:

    db.collection("test/doc_id/items")
    

    换句话说,如果您想编写任何两个文档,则必须在不同位置执行两个 add/update/create 调用。您不能一次调用创建两个文档。

    【讨论】:

    • 不,我的意思是我想运行一个单独的集合语句,它应该是根集合(祖父)的属性,它是子集合父,它是通过传递嵌套 JSON 的子集合子。在我上面的问题中,它只有两级父母和孩子。
    • 对,我理解你。请再次阅读答案。您正在尝试同时更新两个文档。它们是否嵌套并不重要 - 仍然计数和两个文档。
    • 您至少可以使用batches 进行同步更新。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-04-02
    • 2020-06-15
    • 2021-05-25
    • 1970-01-01
    • 2018-08-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多