我正在申请申请。
但是,我无法删除Firestore文档中的字段。
用其他语言,我知道可以使用FieldValue.delete()
删除Firestore文档中的文件。
在Dart中,如何删除?
答案 0 :(得分:4)
2018年10月更新:现在可以这样做:
要从Cloud Firestore文档中删除特定字段,请确保您使用的是插件版本0.8.0或更高版本。现在,例如,如果您有一个文档,其字段“ Desc”与包含一些文本。为了删除它。
Firestore.instance.collection('path').document('name').updateData({'Desc': FieldValue.delete()}).whenComplete((){
print('Field Deleted');
});
这将从文档“名称”中删除“ Desc”字段
答案 1 :(得分:2)
我认为以标准的,非骇客的方式,目前这是不可能的。 Flutter中有一个未解决的问题https://github.com/flutter/flutter/issues/13905,必须首先解决。
答案 2 :(得分:1)
这里是在Field Path
中编程时删除Flutter/Dart
的官方解决方案
Firestore 集合示例如下所示:
{
'path': {
'name': {
'title': 'my title'
'description': 'my description',
}
}
}
要删除 description
字段,您可以这样做:
Firestore.instance.collection('path').document('name').set(
{'description': FieldValue.delete()},
SetOptions(
merge: true,
),
)
集合将如下所示:
{
'path': {
'name': {
'title': 'my title'
}
}
}
答案 3 :(得分:0)
如果您有嵌套字段,请使用“。” (点)表示法来指定字段。
例如,如果您的数据是嵌套的Map,那么这很方便。
Firestore.instance.collection('path').document('name').update({'address.town': FieldValue.delete()}).whenComplete((){
print('Field Deleted');
});
答案 4 :(得分:0)
获取 DocumentReference
,使用具有要删除的键和值 update
的映射调用 FieldValue.delete()
。
var collection = FirebaseFirestore.instance.collection('collection');
collection
.doc('document_id')
.update({
'field_to_delete': FieldValue.delete(),
}
);