gpt4 book ai didi

flutter - 如何使用帮助DocumentID更新Cloud Firestore文档字段?

转载 作者:行者123 更新时间:2023-12-03 04:48:27 25 4
gpt4 key购买 nike

在这里,我试图借助documentID(String keyId)更新用户的退出时间。当用户在给定的INPUTFIELD中添加DOCUMENTID或keyId和Exit-time:Value(获取更新)时完成更新.cloud_database中的数据正在以(KeyId(KzlWLHJc0di6QziewVV7)=> InputField =>更新完成的方式进行更新在cloud_database中)。

1st Code:(The below code working & updating properly in database)

String KeyId;
QuerySnapshot qs = await Firestore.instance.collection('student entry').getDocuments();
qs.documents.forEach((DocumentSnapshot snap) async {
if(snap.documentID == keyId ) {
DocumentReference documentReference = Firestore.instance.collection(
'student entry').document(keyId);
documentReference.updateData({
'Exit-time': date,

});

但是现在我为每个用户添加了身份验证。数据库为每个用户单独存储数据。现在我不知道我可以在第二代码中做什么其他修改以使工作过程像上述代码一样。
  2nd code:

String keyId;
CollectionReference vaultCollection = Firestore.instance.collection('student entry').document(uid).collection('vault'); //Where should i add keyId new code
DocumentReference doc=vaultCollection.document();
doc.updateData({

'Exit-time': date,


});

最佳答案

我假设您有要更新数据的Document ID。您可以将setData函数与merge: true一起使用。您无需获取数据即可对其进行更新。

在您的示例中,KeyId是您要在其中更新数据的Document ID

第一个代码

DocumentReference documentReference = Firestore.instance.collection('student entry').document(keyId);
documentReference.setData({'Exit-time': date},merge:true);

第二个代码

现在,由于您将数据存储在 Sub-Collection中,因此仅文档引用将被更新。
DocumentReference documentReference = Firestore.instance.collection('student entry').document(uid).collection('vault').document(keyId);
documentReference.setData({'Exit-time': date},merge:true);

希望这可以帮助。

关于flutter - 如何使用帮助DocumentID更新Cloud Firestore文档字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61834297/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com