Firebase 如何使firestore在写入时创建嵌套对象作为子集合?

Firebase 如何使firestore在写入时创建嵌套对象作为子集合?,firebase,google-cloud-firestore,Firebase,Google Cloud Firestore,考虑我下面的代码。我想让这段代码在集合测试下创建一个名为items的子集合,但右边的items在测试集合中添加了一个数组字段。注意,这是针对firestore而不是firebase实时数据库的 data = { "first": "new", "born": 1815, "items": [ { "field": 2 } ] }; db.collection("test").add(data) 您的数据对象是单个对象,当您使用给定的代码将单个对象存储为文档时,该对象将占用该单

考虑我下面的代码。我想让这段代码在集合测试下创建一个名为items的子集合,但右边的items在测试集合中添加了一个数组字段。注意,这是针对firestore而不是firebase实时数据库的

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

您的
数据
对象是单个对象,当您使用给定的代码将单个对象存储为文档时,该对象将占用该单个文档

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

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


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

不,我的意思是我要运行一个set语句,通过传递嵌套的JSON,该语句应该包含根集合(祖父母)、子集合父集合和子集合子集合的属性。在我上面的问题中,只有父母和孩子两个层次。对,我理解你。请再读一遍答案。您试图同时更新两个文档。它们是否嵌套并不重要——仍然计数和两个文档。您至少可以使用它们进行同步更新。
db.collection("test/doc_id/items")