如何获取从Dart Flutter Firebase检索到的数据的价值



我有一个这样的代码:

WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
FirebaseFirestore FS = FirebaseFirestore.instance;
CollectionReference TC = FirebaseFirestore.instance.collection("oneSignal");
var docs = TC.doc("xcG9kfCWnUK7QKbK37qd");
var response = await docs.get();

var veriable = response.data();
print(veriable);

我得到这样的输出:

{id: 5138523951385235825832}

我只想要这个输出的值,即5138523951385235825832。我该怎么做?

您的response是一个DocumentSnapshot,因此response.data()返回一个包含所有字段的Map。要从中获取特定字段,您可以执行以下操作:

var veriable = response.data() as Map;
print(veriable["id"]);

或者,您可以使用以下直接从响应中获取字段:

print(response.get("id"));

对于这种情况,我建议将文档放在手边,在本例中为DocumentSnapshot

response.data()返回一个Map。Map是一个键值对。在Dart中,可以使用键访问Map的值。

void main() { 
var details = {'Usrname':'tom','Password':'pass@123'}; 
details['Uid'] = 'U1oo1'; 
print(details); 
} 

它将产生以下输出−

{Usrname: tom, Password: pass@123, Uid: U1oo1}

在您的情况下,您可以使用veriable['id']获得id的值