在我的火商店数据库中,我有一个目录users
,其中的用户数据documents
。文档有两个字段,字符串"displayName"和数组"friends"。我正在努力检索 friends 数组并将其放入流中的颤振列表中。任何帮助,不胜感激。
我目前的代码如下:
Stream<List<Memo>> get memos {
var userdocs = Firestore.instance.collection('users').document(userid).document('friends');
// Complete request and do list conversions
// Do more work using results
}
我承认这个问题以前有人问过,但我对颤振很陌生,异步编程并不完全理解答案
flutter SDK
返回一个Stream
对象,该对象将随时间推移释放值(实时数据库(。在您的示例中,您正在分配一个Stream
值并期望一个List
。在异步编程中,您必须订阅一个事件,以便每当发出值时,我们都可以执行所需的操作。
var userdocs
Firestore.instance
.collection("users")
.document(userid)
.get()
.then((DocumentSnapshot ds) {
userdocs = ds.data
})
或者,如果您在async
函数内,请使用await
var userdocs = await Firestore.instance
.collection("users")
.document(userid)
.get()