首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Firestore -如何对多级文档执行.set()

Firestore -如何对多级文档执行.set()
EN

Stack Overflow用户
提问于 2018-08-15 03:03:45
回答 1查看 282关注 0票数 1

我似乎在Firestore文档中找不到这个问题的答案,但是如果我想做这么简单的事情,在我的Angular 6应用程序中:

代码语言:javascript
复制
firebase.firestore().collection(`fb_ad_accounts`).doc(`${adAccountId}/${id}`).set({
  name: name,
  id: id,
  date_created: new Date().getTime()
})

我收到一个错误,显示

代码语言:javascript
复制
Error: Uncaught (in promise): FirebaseError: [code=invalid-argument]: Invalid document reference. Document references must have an even number of segments, but fb_ad_accounts/779737999495825/249155905774166 has 3

我想像这样构建我的数据,但是我不知道如何对一个看起来像fb_ad_accounts/<account_id>/<ad_account_id>的树执行简单的add()

我是不是漏掉了什么明显的东西?

提前感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-15 03:15:47

在Firestore中,文档只能包含带有值的字段。一个文档不能包含另一个文档。

文档下可能有组织的子集(每个子集可能都有自己的文档),但从技术上讲,这些子集不包含在文档本身中。

该错误消息本质上是在以某种数学方式提醒您这些事实。

如果您希望一个文档出现在另一个文档中“嵌套”,则必须选择它将出现的子集的名称。例如:

代码语言:javascript
复制
fb_ad_accounts/<account_id>/ads/<ad_account_id>

注意:"ads“子集合出现在文档的下面。从数学上讲,它是文档的有效路径,因为它有偶数个路径组件(4)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51848226

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档