当前位置: 首页 > 知识库问答 >
问题:

向firebase中的文档添加字段属性

郦兴德
2023-03-14

每次单击按钮add时,我都会调用一个方法。在这个方法中,我为我的集合创建了一个新文档,其中包含一个标题和一个字符串数组。通过从我保存的服务调用方法,可以在我的方法中创建此文档。单击“完成”按钮时,我想在文档中添加最后一个字符串值字段。如何获取当前保存id的快照以添加新元素?我正在使用Angular和firestore

这些按钮位于component.html

<button type="button" class="btn btn-success" (click)="onSave()">Save</button>

<button type="button" class="btn btn-success" (click)="onComplete()">Complete</button>

OnSave和onComplete位于组件中。ts

onSave() {

    const btn = document.getElementById("addtopic");
    this.modalService.hide(1);

    // Get starting date
    this.startTopicTimestamp=  firebase.firestore.Timestamp.fromDate(new Date());
    console.log(`Starting time : ${this.startTopicTimestamp}`);

    btn.innerHTML = "End topic";
    btn.setAttribute('class', 'btn btn-danger');

    // New document creation
    this.savedService.savedDoc(this.topicTitle, this.myTags, this.startTopicTimestamp);
}


onComplete(){

    // Here we should get a snapshot of the current saved id
    // To make this function work
    this.savedService.addElement(this.saved.id)

}

此方法是SavedService的一部分

public savedDoc(title: string, tags: string[], date: Date): void {

    const savedFields = {
      title: title,
      startTime: date,
      tags: tags
    }

   this.db.collection('saved').add(savedFields);
}

共有1个答案

东方英豪
2023-03-14

根据这一点(Firestore-如何在将文档添加到集合后获取文档id),您可以执行以下操作:

public savedDoc(title: string, tags: string[], date: Date): void {

    const savedFields = {
      title: title,
      startTime: date,
      tags: tags
    }

   return this.db.collection('saved').add(savedFields).then(function(docRef) {
    return docRef.id;

});
}

因为添加返回文档引用

 类似资料:
  • 我不得不向现有文档添加一个新字段/s。 下面是用于测试目的的过程AddNewField。 我做错了什么? 在调用fmongo.update后,我的收藏现在有两个文档!

  • 我希望将动态字段存储到文档中,但每个文档可以有不同的字段。 例如: 如果我运行上述程序,mongodb文档如下所示。 但我想要的是字段名称应该是“field1”而不是这样的“df”。 这只是一个示例代码,所以我知道df值是什么,但实际上我不知道df值是什么。那么在存储时动态命名字段的方法是什么? 在Mongoengine中有一个类似的使用key作为值的问题,但是解决方案建议使用DictField(

  • 我想定义一个$Project聚合阶段,在这里我可以指示它添加一个新字段并包括所有现有字段,而不必列出所有现有字段。 在这种情况下,我是否可以使用类似“包括所有字段”的关键字,或者其他方法来避免单独列出每个字段?

  • 问题内容: 我需要为索引中的所有文档添加一个新字段,而无需下拉文档并将其推回备份(这将需要大约一天的时间)。是否可以使用_BULK API实现此目的? 我还研究了update_by_query插件,似乎只需要将它们拉下并推回自己的位置即可。 问题答案: 是的,批量API支持更新,可以使用部分文档或脚本添加新字段。要遍历文档ID,请执行扫描并在将fields参数设置为空数组的情况下滚动。

  • 我想计算两个字段的总和,然后在文档中创建新的字段,比如:“total sum”。但我不知道怎么做。都在MongoDB中。这里有一个例子:

  • 嗨,我试图创建一个由JComboBox和JTextField组成的接口。我已经整理好了向JComboBox添加标签的代码,但是我在向文本字段添加标签时遇到了麻烦。如有任何帮助,不胜感激。