Kod*_*ata 5 flutter google-cloud-firestore
我想知道是否存在特定文档,请更新该文档,如果不能,则可以在Firestore中创建该文档。例如,用户使用post输入了一些标签,然后看起来像这样
Firestore.instance.collection('tags').document(tag here).updateData()。如果该文档不存在,有什么办法可以创建方法吗?还是在写之前必须检查是否存在?
set在文档上使用并提供一个SetOptionswith merge: true. 来自文档:
在文档上设置数据,覆盖任何现有数据。如果该文档尚不存在,则会创建该文档。
如果提供了 SetOptions,数据将合并到现有文档中而不是覆盖。
var collection = FirebaseFirestore.instance.collection('collection');
collection
.doc('doc_id')
.set(yourData, SetOptions(merge: true));
Run Code Online (Sandbox Code Playgroud)
@Doug是正确的,在Flutter Firestore API中有一个选项:
Firestore.instance.
collection('tags').
document(tag here).
setData(data, merge: true)
Run Code Online (Sandbox Code Playgroud)
从文档:
setData(Map<String, dynamic> data, {bool merge: false}) ? Future<void>写入此DocumentReference引用的文档。如果该文档尚不存在,将创建它。
如果merge为true,则提供的数据将合并到现有文档中,而不是覆盖。
将其与from中的文档进行比较,该文档updateData显然会失败。
updateData(Map<String, dynamic> data) ? Future<void>更新此DocumentReference引用的文档中的字段。
如果尚无文档,则更新将失败。
| 归档时间: |
|
| 查看次数: |
2358 次 |
| 最近记录: |