如何获取添加到Firestore的文档的ID号?

时间:2020-09-09 15:29:56

标签: firebase flutter dart google-cloud-firestore

我正在尝试使用Flutter / Dart将文档添加到Firestore,然后将Firestore提供给它的ID号添加到列表中。我在网上看到一种旧方法是使用codeRef.documentID,但这似乎行不通,我发现该代码中的其余代码似乎都在使用不赞成使用的语法。我正在考虑自己创建文档名称,该名称将提供我所需的ID号,但这不能防止冲突。我应该有办法吗?

final codeRef = await FirebaseFirestore.instance.collection('codes').doc().set({
      'name': _codeName,
});

2 个答案:

答案 0 :(得分:1)

set()返回一个Future<void>,因此codeRef.documentID不起作用是有道理的。 void没有任何属性。

在编写文档之前,您需要从doc()返回的DocumentReference获取ID。

DocumentReference ref = FirebaseFirestore.instance.collection('codes').doc();
String id = ref.id;
ref.set(...);

答案 1 :(得分:0)

var _result = await FirebaseFirestore.instance.collection('codes').add({
  'name': _codeName});

String id = _result.id