如何删除Cloud Firestore中的文档字段? ...我正在使用下面的代码,但我不能。
this.db.doc(`ProfileUser/${userId}/followersCount/FollowersCount`).update({
[currentUserId]: firebase.firestore.FieldValue.delete()})
任何人都知道怎么做?
答案 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);
此外,您可以不包含该字段,而不必初始化该字段。