Firebase 如何使用flatter更新云firestore上文档的字段?
我试图更新我的firestore数据库字段Firebase 如何使用flatter更新云firestore上文档的字段?,firebase,flutter,dart,google-cloud-firestore,Firebase,Flutter,Dart,Google Cloud Firestore,我试图更新我的firestore数据库字段 Future<void> approveJob(String categoryId) { 为了更新文档中的字段,您只需按照文档进行操作 关于如何获取documentID,您可以按照下面的描述进行操作 还要记住,你可以 让我知道这是否有用。==2020年12月=== 在Flatter中更新Firestore文档有两种方法: set()-设置文档上的数据,覆盖任何现有数据。如果文档尚不存在,将创建该文档 update()-更新文档上的数据
Future<void> approveJob(String categoryId) {
为了更新文档中的字段,您只需按照文档进行操作 关于如何获取documentID,您可以按照下面的描述进行操作 还要记住,你可以 让我知道这是否有用。==2020年12月=== 在Flatter中更新Firestore文档有两种方法:
set()
-设置文档上的数据,覆盖任何现有数据。如果文档尚不存在,将创建该文档update()
-更新文档上的数据。数据将与任何现有文档数据合并。如果尚未存在文档,则更新将失败FirebaseFirestore.instance.collection('collection_name').doc('document_id').update({'field_name': 'Some new data'});
首先,您需要确定并定位要修改的字段
final code = Code.fromSnapshot(document);
FirebaseFirestore.instance.collection('collection_Name').doc('doc_Name').collection('collection_Name').doc(code.documentId).update({'redeem': true});
在本例中,code.documentId
code是包含快照的实例。通过使用它,可以访问“标识符”文档ID;然后将字段兑换更改为true,
- 要更新文档中的值,请执行以下操作:
var collection=FirebaseFirestore.instance.collection('collection');
收集
.doc(“doc\u id”)
.update({'key':'value'})//打印('Success'))
.catchError((error)=>打印('Failed:$error');
- 更新文档中的嵌套值
var collection=FirebaseFirestore.instance.collection('collection');
收集
.doc(“doc\u id”)
.update({'key.foo.bar':'nested_value'})//打印('Success'))
.catchError((error)=>打印('Failed:$error');
- 向现有文档添加新值
var collection=FirebaseFirestore.instance.collection('collection');
收集
.doc(“doc\u id”)
.set(yourData,SetOptions(merge:true));//是的,这是可能的,您需要做的是每次保存一个新文档时,向其中添加一个包含docId的id字段,然后您可以使用此id执行其他操作,如更新docok。谢谢这不是更新字段的方式吗<代码>v.documents[0]。数据。更新('isApproved',(bool)=>true,如果存在:()=>true)代码>我对此不确定,但以下是我如何更新Firestore.instance.collection('collection').document(docId.).updateData({
你的答案与Flatter有什么关系?
final code = Code.fromSnapshot(document);
FirebaseFirestore.instance.collection('collection_Name').doc('doc_Name').collection('collection_Name').doc(code.documentId).update({'redeem': true});