【问题标题】:Angular Firestore - how to get a doc without it's keyAngular Firestore - 如何在没有密钥的情况下获取文档
【发布时间】:2018-04-20 22:22:45
【问题描述】:

我正在使用 Angular Firestore,过去两天我一直在努力完成这项特殊任务。这是我需要的:当用户点击保存按钮时,我调用:

save(group: IGroup){
 if(group.id){
  this.update(group);
 }else{
  this.create(group);
 }
}

到目前为止一切都很好,当我调用更新和创建方法时它工作正常。我的问题是在首先调用“保存”功能之前。我有这个架构:

(collection)groups -> (document)group -> (array)group.words

我需要做的是:

if(groups.last.words.length < 9){
  save(groups.last)
}else{
  save(new Group())
}

如何通过从 Angular Firestore 获取组来实现这一点?

【问题讨论】:

  • 您是说要在不知道文档 ID 的情况下获取特定文档吗?您是否让 Firestore 生成文档 ID?
  • 是的,是的。我使用地图和快照值来获取文档 ID。
  • 因此在更改(array)group.words 之前不要获取文档。是否可以在调用 save() 方法之前显示更多代码?
  • @NicholasPesa 感谢您对此提出一些想法。我刚刚设法解决了我的问题:)

标签: angular google-cloud-firestore angularfire2 angularfire5


【解决方案1】:

好吧,我通过声明解决了我的问题:

words: Array<IWord>;

然后在“订阅”中填充它:

this.words$.subscribe( result => {
  this.words = result;
});

然后我从我的 'words' 数组中得到我的对象。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多