删除Firestore文档中的字段

Jul*_* JC 10 firebase typescript ionic3 angular google-cloud-firestore

如何删除Cloud Firestore中的文档字段?...我正在使用下面的代码,但我不能.

this.db.doc(`ProfileUser/${userId}/followersCount/FollowersCount`).update({ 
[currentUserId]: firebase.firestore.FieldValue.delete()})
Run Code Online (Sandbox Code Playgroud)

谁知道怎么做?

Sam*_*ath 25

您可以尝试如下所示:

//get the reference to the doc
let docRef=this.db.doc(`ProfileUser/${userId}/followersCount/FollowersCount`);

// Remove the 'currentUserId' field from the document
let removeCurrentUserId = docRef.update({
    currentUserId: firebase.firestore.FieldValue.delete()
});
Run Code Online (Sandbox Code Playgroud)

  • 查看文档。它应该可以工作,不是吗?你的“文档参考”呢?https://firebase.google.com/docs/firestore/manage-data/delete-data (2认同)

小智 24

对于 Firebase 版本 9(2022 年 2 月更新):

如果集合“users”一个文档(dWE72sOcV1CRuA0ngRt5),其中包含字段“name”“age”“sex”,如下所示:

users > dWE72sOcV1CRuA0ngRt5 > name: "John", 
                               age: 21, 
                               sex: "Male"
Run Code Online (Sandbox Code Playgroud)

您可以使用以下代码删除“年龄”字段:

users > dWE72sOcV1CRuA0ngRt5 > name: "John", 
                               age: 21, 
                               sex: "Male"
Run Code Online (Sandbox Code Playgroud)
users > dWE72sOcV1CRuA0ngRt5 > name: "John",  
                               sex: "Male"
Run Code Online (Sandbox Code Playgroud)

您可以使用以下代码删除多个字段“年龄”“性别” :

import { doc, updateDoc, deleteField } from "firebase/firestore";

const userRef = doc(db, "users/dWE72sOcV1CRuA0ngRt5");

// Remove "age" field from the document
await updateDoc(userRef, {
  "age": deleteField()
});
Run Code Online (Sandbox Code Playgroud)
users > dWE72sOcV1CRuA0ngRt5 > name: "John"
Run Code Online (Sandbox Code Playgroud)


小智 14

这对我有用。(也用于删除具有空值的字段)

document.ref.update({
  FieldToDelete: admin.firestore.FieldValue.delete()
})
Run Code Online (Sandbox Code Playgroud)