Я хочу получить данные из Cloud Firestore только для пользователя, вошедшего в приложение. Я использую Auth Firebase, и я создал метод для извлечения некоторых документов из определенной c коллекции, называемой «пользователь», и он работает, и он показывает правильное имя зарегистрированного пользователя и пользователя, зарегистрированного в моей форме. Теперь я собираю в другой форме другую коллекцию Firestore под названием «shippingAddress», и документы из коллекции «shippingAddress» должны отображаться в приложении только для указанного c пользователя, вошедшего в приложение. но этого не происходит, любой зарегистрированный пользователь получил одинаковые данные от всех пользователей, кроме имени и адреса электронной почты. это мой код:
final databaseReference = Firestore.instance;
Future<QuerySnapshot> getData() async {
var firebaseUser = await FirebaseAuth.instance.currentUser();
return await Firestore.instance
.collection("user")
.where("email", isEqualTo: firebaseUser.email)
.getDocuments();
}
@override
Widget build(BuildContext context) {
return FutureBuilder(
future: getData(),
builder: (context, AsyncSnapshot<QuerySnapshot> snapshot) {
if (snapshot.connectionState == ConnectionState.done) {
return ListView.builder(
shrinkWrap: true,
itemCount: snapshot.data.documents.length,
itemBuilder: (BuildContext context, int index) {
return Column(
children: <Widget>[
Stream(),
],
);
});
} else if (snapshot.data == null) {
return Center(child: CircularProgressIndicator());
}
return Center(child: CircularProgressIndicator());
},
);
}
}
class Stream extends StatefulWidget {
@override
_StreamState createState() => _StreamState();
}
class _StreamState extends State<Stream> {
@override
Widget build(BuildContext context) {
return StreamBuilder(
stream: Firestore.instance.collection('shippingAddress').snapshots(),
builder: (context, snapshot) {
// if (!snapshot.hasData) return Text('Loading data please Wait');
return Column(
children: <Widget>[
Container(
height: 1000,
child: ListView.builder(
shrinkWrap: true,
itemCount: snapshot.data.documents.length,
itemBuilder: (BuildContext context, int index) {
return Card(
color: Color(0xFF1f2032),
elevation: 15,
child: Container(
width: 60,
height: 60,
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceAround,
children: <Widget>[
Text(
snapshot.data.documents[index]['alias'],
style: TextStyle(
color: Colors.white,
fontWeight: FontWeight.bold),
),
],
),
),
);
},
),
),
],
);
},
);
}
}
пожалуйста, помогите, я застрял в этом. вот скриншот моей базы данных: Экран базы данных
Коллекции пользователей