如何使用文档 ID 帮助更新云消防商店文档字段?



在这里,我尝试在documentID(String keyId(的帮助下更新用户的退出时间。当用户在给定的输入字段中添加 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,
});

但是现在我为每个用户添加了身份验证。为每个用户单独存储数据的数据库。现在我不知道我可以在第二个代码中做什么 Else 修改以获得像上面代码这样的工作过程。

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);

希望这有帮助。

最新更新