I have a flutter app which is connected to firebase realtime database. I am getting inconsistent values from snapshot, everytime I am trying to retrieve data. Below is what my database looks like:

Below is the flutter code, I am using to get all the users in a specific id:
new FutureBuilder(
future: db.child("Users").orderByChild("_id").equalTo("$userId").once(),
builder: (context, AsyncSnapshot<DataSnapshot> snapshot) {
if (snapshot.hasData){
final values = snapshot.data!.value;
print("values: "+values.toString());
return Text("userName: " + values.toString());
}
return CircularProgressIndicator();
}
),
The values print statement gives the below result:
I/flutter (16745): values: [{phone: +880 (834) 473-3132, name: Luna Bray, _id: 615ec4d64259ae531dec9fcc}]
I/flutter (16745): values: {4: {phone: +880 (881) 491-2540, name: Sondra Paul, _id: 615ec4d6ee0c6d92626c1d55}}
I/flutter (16745): values: {3: {phone: +880 (973) 554-2796, name: Susan Walker, _id: 615ec4d60d00b15c0950e860}}
I/flutter (16745): values: {4: {phone: +880 (881) 491-2540, name: Sondra Paul, _id: 615ec4d6ee0c6d92626c1d55}}
As u can see from the print result, only the first print statement is a List and the others are Map. I need either the values from snapshot to be a list or a map. I just need the username of the id that matches the query. Any help is appreciated.