我似乎在Firestore文档中找不到这个问题的答案,但是如果我想做这么简单的事情,在我的Angular 6应用程序中:
firebase.firestore().collection(`fb_ad_accounts`).doc(`${adAccountId}/${id}`).set({
name: name,
id: id,
date_created: new Date().getTime()
})我收到一个错误,显示
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()
我是不是漏掉了什么明显的东西?
提前感谢!
发布于 2018-08-15 03:15:47
在Firestore中,文档只能包含带有值的字段。一个文档不能包含另一个文档。
文档下可能有组织的子集(每个子集可能都有自己的文档),但从技术上讲,这些子集不包含在文档本身中。
该错误消息本质上是在以某种数学方式提醒您这些事实。
如果您希望一个文档出现在另一个文档中“嵌套”,则必须选择它将出现的子集的名称。例如:
fb_ad_accounts/<account_id>/ads/<ad_account_id>注意:"ads“子集合出现在文档的下面。从数学上讲,它是文档的有效路径,因为它有偶数个路径组件(4)。
https://stackoverflow.com/questions/51848226
复制相似问题