我有以下 Firestore 文档模型: 现在 Firestore 允许使用嵌套数组(通过arrayRemove / arrayUnion ),我想知道这是否也可以通过 AngularFire2 实现。 或者到目前为止唯一的方法是导入 Firebase 并直接使用它? 喜欢: 此外,这样一 ...
提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供 中文繁体 英文版本 中英对照 版本,有任何建议请联系yoyou2525@163.com。
我正在使用angularfire和firebase firestore数据库将图像数据保存在数据库中。 节省100%。
我的数据像这样嵌套:
图片集
有时我需要更新数据库中的特定图像对象,但是,当我尝试更新图像对象/文档时,出现以下错误:
Invalid document reference. Document references must have an even number of segments, but images/yuEXbpYWqE4AUfmRCxIu/JvLzEANRFlupuUxYXNii has 3
这是我使用的代码:
this.afs.doc('images'+'/'+galleryId+'/'+imageId+'/').update({"name": upload.name,"path": upload.url});
我也尝试过:
this.afs.doc('images').collection(galleryId).doc(imageId).update({"name": upload.name,"path": upload.url});
而且我也尝试过:
this.afs.collection('images'+'/'+galleryId).doc(imageId).update({"name": upload.name,"path": upload.url});
然后出现类似的错误,这次只是引用集合:
Invalid collection reference. Collection references must have an odd number of segments, but images/AHcWODRgsespIExQnJae has 2
当我尝试更新数据库中的其他集合时,它可以正常工作,但是它们仅嵌套2级。 看来,当您嵌套3个级别时,就会出现问题。
请帮忙
您不能将文档直接嵌套在另一个文档下。 您必须相应地构造嵌套:集合-文档-集合-文档-等。Firestore路径始终以集合开头。
this.afs.doc('images/'+galleryId + '/images/' + imageId).update({"name": upload.name,"path": upload.url});
我建议您阅读Firestore文档,因为这是Firestore的基本方面: https : //firebase.google.com/docs/firestore/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.