Firebase 颤振:调用setData时,首先从表单获取文档id

Firebase 颤振:调用setData时,首先从表单获取文档id,firebase,flutter,google-cloud-firestore,Firebase,Flutter,Google Cloud Firestore,调用setData时如何获取新创建的文档id Future<void> createCommitment() async { await widget._firestore .collection('skills') .document(widget.skillID) .collection("commitment") .document() .setDat

调用setData时如何获取新创建的文档id

 Future<void> createCommitment() async {
        await widget._firestore
           .collection('skills')
           .document(widget.skillID)
           .collection("commitment")
           .document()
           .setData({
         'bite_id': widget.biteId,
         'start_date': widget.startDate,
         'frequnecy': 3
       });
     }
Future createcommission()异步{
等待widget.\u firestore
.collection(“技能”)
.document(widget.skillID)
.收款(“承诺”)
.文件(
.setData({
'bite_id':widget.biteId,
“开始日期”:widget.startDate,
“频率”:3
});
}

当前实现返回void

您必须自己设置它:

DocumentReference _skillsRef = Firestore.instance.collection('skills').document(skillsID); 
或自动生成:

DocumentReference _skillsRef = Firestore.instance.collection('skills').document(); 
这个ref就是你设置的:

_skillsRef.setData({
    'bite_id': widget.biteId,
    'start_date': widget.startDate,
    'frequency': 3
})

您必须自己设置:

DocumentReference _skillsRef = Firestore.instance.collection('skills').document(skillsID); 
或自动生成:

DocumentReference _skillsRef = Firestore.instance.collection('skills').document(); 
这个ref就是你设置的:

_skillsRef.setData({
    'bite_id': widget.biteId,
    'start_date': widget.startDate,
    'frequency': 3
})

不要使用空的
文档()

Future<void> createCommitment() async {
  DocumentReference docRef = await widget._firestore
      .collection('skills')
      .document(widget.skillID)
      .collection("commitment")
      .add({
    'bite_id': widget.biteId,
    'start_date': widget.startDate,
    'frequnecy': 3,
  });
  //Here you have the autogenerated ID :
  print("ID : ${docRef.documentID}");
}
Future createcommission()异步{
DocumentReference docRef=等待小部件。\u firestore
.collection(“技能”)
.document(widget.skillID)
.收款(“承诺”)
.添加({
'bite_id':widget.biteId,
“开始日期”:widget.startDate,
“频率”:3,
});
//这里有自动生成的ID:
打印(“ID:${docRef.documentID}”);
}

不要使用空的
文档()
setData
,而要像这样使用
a
添加

Future<void> createCommitment() async {
  DocumentReference docRef = await widget._firestore
      .collection('skills')
      .document(widget.skillID)
      .collection("commitment")
      .add({
    'bite_id': widget.biteId,
    'start_date': widget.startDate,
    'frequnecy': 3,
  });
  //Here you have the autogenerated ID :
  print("ID : ${docRef.documentID}");
}
Future createcommission()异步{
DocumentReference docRef=等待小部件。\u firestore
.collection(“技能”)
.document(widget.skillID)
.收款(“承诺”)
.添加({
'bite_id':widget.biteId,
“开始日期”:widget.startDate,
“频率”:3,
});
//这里有自动生成的ID:
打印(“ID:${docRef.documentID}”);
}