首页 > 解决方案 > 在firestore上设置数据时如何获取自动生成的ID?

问题描述

创建集合数据时是否可以获取文档?

  Future<void> addVehicleCategory(VehicleCategoryModel model) {
    return _db.collection('vehicle').document().setData({
      'docId': //to Here
      'createdAt':DateTime.now().millisecondsSinceEpoch.toString(),
      'serverTimestamp':FieldValue.serverTimestamp()
    });
  }

标签: firebasefluttergoogle-cloud-firestore

解决方案


_db.collection('vehicle').document()不带参数立即返回一个 DocumentReference,它有一个随机 ID,在客户端计算。文档还没有写出来,但是ID是可用的。您可以使用该 ID 在新文档上写入字段,直接指定文档 ID:

DocumentReference ref = _db.collection('vehicle').document()
return ref.setData(
      'docId': ref.documentID
      ...
));

另请参阅 swift 的解决方案:将文档的文档 ID 添加到其自己的 Firestore 文档 - Swift 4


推荐阅读