我有一个这样的代码:
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的值