Firestore:如何更新文档的特定字段?

Rog*_*rto 1 firebase angular google-cloud-firestore

如何访问和更新角度Firestore中的特定字段: 在此处输入图片说明

Sun*_*ngh 5

这应该是很容易的任务。您可以使用更新功能,并传递字段名称和值以进行更新。

例如:

this.db.doc(`options/${id}`).update({rating:$rating}); //<-- $rating is dynamic
Run Code Online (Sandbox Code Playgroud)


Swo*_*oox 2

好的,您必须执行以下步骤:

  • 首先确保您创建的查询是针对名称或 ID 甚至两者都创建的,它必须是唯一的
  • 然后您使用 snapshotChanges 订阅此查询
  • 接下来你将从查询的对象中获取id
  • 之后,您可以使用此 id 用新值更新文档

它看起来像这样:

updateDoc(_id: string, _value: string) {
  let doc = this.afs.collection('options', ref => ref.where('id', '==', _id));
  doc.snapshotChanges().pipe(
    map(actions => actions.map(a => {                                                      
      const data = a.payload.doc.data();
      const id = a.payload.doc.id;
      return { id, ...data };
    }))).subscribe((_doc: any) => {
     let id = _doc[0].payload.doc.id; //first result of query [0]
     this.afs.doc(`options/${id}`).update({rating: _value});
    })
}
Run Code Online (Sandbox Code Playgroud)