使用flutter时,我能够成功获取UserId
,但是我希望能够获取更多用户数据(使用UserId)
周边信息:
使用userId我将如何打印用户;命名为bio,成员身份...等等?
答案 0 :(得分:0)
getUsers() async {
//here fbPath is reference to your users path
fbPath.once().then((user){
if(user.value !=null){
Map.from(user.value).forEach((k,v){
//here users is List<Map>
setState((){
users.add(v);
});
}
}
});
}
//Or
getUsers() async {
//here fbPath is reference to your users path
//and userListener is StreamSubscription
userListener = fbPath.onChildAdded.listen((user){
//here users is List<Map>
setState((){
users.add(Map.from(user.snapshot.value));
});
});
}
//and cancel in dispose method by calling
userListener.cancel();
答案 1 :(得分:0)
尝试这样:
Future<dynamic> getWeightinKeg() async {
final DocumentReference document = Firestore.instance.collection('you_collection_name').document(user_id);
await document.get().then<dynamic>(( DocumentSnapshot snapshot) async {
final dynamic data = snapshot.data;
print(data['name'].toString())
//Do whatever you want to do with data here.
});
}
答案 2 :(得分:0)
由于您使用的是实时数据库,因此要获取其他数据,您可以执行以下操作:
db = FirebaseDatabase.instance.reference().child("Users");
db.once().then((DataSnapshot snapshot){
Map<dynamic, dynamic> values = snapshot.value;
values.forEach((key,values) {
print(values);
print(values["name"]);
});
});
首先添加对节点Users
的引用,然后使用forEach
方法在检索到的Map
内部进行迭代,并检索其他值。