Firebase 如何使用AngularFirestore删除文档字段?

Firebase 如何使用AngularFirestore删除文档字段?,firebase,angularfire2,Firebase,Angularfire2,根据以下步骤,您可以执行以下操作: var cityRef = db.collection('cities').doc('BJ'); // Remove the 'capital' field from the document var removeCapital = cityRef.update({ capital: firebase.firestore.FieldValue.delete() }); 但是,使用AngularFirestore时,FieldValue不可用: 如

根据以下步骤,您可以执行以下操作:

var cityRef = db.collection('cities').doc('BJ');

// Remove the 'capital' field from the document
var removeCapital = cityRef.update({
    capital: firebase.firestore.FieldValue.delete()
});
但是,使用AngularFirestore时,
FieldValue
不可用:

如何使用AngularFirestore删除字段

编辑:

  • 将字段值设置为null不会删除该字段
  • 不允许将字段值设置为未定义

要使用FieldValue.delete()方法,必须导入:

import * as firebase from 'firebase/app';
或者像卡姆登·基德建议的那样:

import { firestore } from 'firebase/app';

我试过了,但它没有删除字段。我会更新问题以添加信息。嗯,这很奇怪。您只需从“firebase/app”将导入
import*设置为firebase即可
使用FieldValue.delete();谢谢导入工作正常,
firebase.firestore.FieldValue.delete()
完成该工作。如果你更新你的答案,我会把它标记为正确的。我觉得通过AngularFirestore应该是可行的有效,是一个更整洁的解决方案。谢谢,我刚刚编辑了它。是的,我完全同意,angularfire2也缺少一些交易之类的东西。我最终转而使用Firebase Javascript SDK。