删除Firestore文档中的字段

时间:2017-10-27 22:35:18

标签: angular typescript firebase ionic3 google-cloud-firestore

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

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

任何人都知道怎么做?

4 个答案:

答案 0 :(得分:16)

您可以尝试如下所示:

//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()
});

答案 1 :(得分:7)

这对我有用。 (还可以删除具有空值的字段)

document.ref.update({
  FieldToDelete: admin.firestore.FieldValue.delete()
})

答案 2 :(得分:2)

由于某种原因,所选答案(firebase.firestore.FieldValue.delete())对我不起作用。 但是这样做:

只需将该字段设置为null,它将被删除!

// 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]: null
});

答案 3 :(得分:0)

我想到的另一个解决方案是,不着重于更新删除字段的文档,而是更新整个文档。如:

let data: Partial<ObjectType> = {
    //some fields here,
    thatField: '',
    //some fields there
};
this.angularFirestore.collection('collection_name').doc<ObjectType>('id').set(data);

此外,您可以不包含该字段,而不必初始化该字段。