如何在firebase firestore Flatter中获取自动生成的文档id?

如何在firebase firestore Flatter中获取自动生成的文档id?,firebase,flutter,google-cloud-firestore,Firebase,Flutter,Google Cloud Firestore,//这就是我试过的。 它不会返回我添加的最新或最后的数据 Future getData() async { var now = new DateTime.now(); var formatter = new DateFormat('yyyy-MM-dd'); String formatted = formatter.format(now); final FirebaseAuth firebaseAuth = FirebaseAuth.instance; f

//这就是我试过的。 它不会返回我添加的最新或最后的数据

Future getData() async {
    var now = new DateTime.now();
    var formatter = new DateFormat('yyyy-MM-dd');
    String formatted = formatter.format(now);
    final FirebaseAuth firebaseAuth = FirebaseAuth.instance;
    final FirebaseUser user = await firebaseAuth.currentUser();
    final uid = user.uid;

    QuerySnapshot qn = await db
        .collection('exams')
        .document(uid)
        .collection('intellective speed test')
        .document('sensorimotor')
        .collection('$formatted')
        .where('createdAt', isLessThan: Timestamp.now().toDate().toString())
        .getDocuments();

    return qn.documents;
  }

您可以从
DocumentSnapshot

for (int i = 0; i < querySnapshot.documents.length; i++) {
  DocumentSnapshot docSnap = querySnapshot.documents.elementAt(i);
  final id = docSnap.documentID;
}

在排序中使用本机
DateTime
应该可以。如果要查询最新或最后的数据,请按降序对字段排序,并限制为1
querySnapshot.documents.forEach((docSnap) {
  final id = docSnap.documentID;
});