Firebase Angularfire更新嵌套数据

Firebase Angularfire更新嵌套数据,firebase,angularfire2,angularfire5,Firebase,Angularfire2,Angularfire5,我使用angularfire和firebase firestore数据库将图像数据保存在数据库中。节省工作100% 我的数据嵌套如下: 图像采集 帆船 图像ID 名字 路径 图像ID 名字 路径 帆船 图像ID 名字 路径 有时我需要更新数据库中的特定图像对象,但是,当我尝试更新图像对象/doc时,会出现以下错误: Invalid document reference. Document references must have an even number of seg

我使用angularfire和firebase firestore数据库将图像数据保存在数据库中。节省工作100%

我的数据嵌套如下:

图像采集

  • 帆船
    • 图像ID
      • 名字
      • 路径
    • 图像ID
      • 名字
      • 路径
  • 帆船
    • 图像ID
      • 名字
      • 路径
有时我需要更新数据库中的特定图像对象,但是,当我尝试更新图像对象/doc时,会出现以下错误:

Invalid document reference. Document references must have an even number of segments, but images/yuEXbpYWqE4AUfmRCxIu/JvLzEANRFlupuUxYXNii has 3
这是代码I用户:

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});
我也尝试过:

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
当我尝试更新数据库中的其他集合时,效果很好,但是,它们仅嵌套在两个级别。似乎当你嵌套了3个级别时,就会出现问题


请帮助

您不能将文档直接嵌套在另一个文档下。你必须相应地构建你的巢穴:集合-文档-集合-文档-等等。Firestore路径总是以集合开始

this.afs.doc('images/'+galleryId + '/images/' + imageId).update({"name": upload.name,"path": upload.url});

我建议阅读firestore文档,因为这是firestore的一个基本方面:

Thx,我会尝试一下并给出反馈@日本,运气好吗?是的,谢谢。它工作得很好。我有点偏离了方向,因为我重新构造了所有嵌套数据。谢谢分享这些文档,我现在更了解它了,因为我来自实时数据库:)