【发布时间】:2020-09-12 15:22:39
【问题描述】:
在我的 Firestore 数据库中,我的目录 users 包含用户数据为 documents。该文档有两个字段,String 'displayName' 和 Array '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 很陌生,异步编程并不完全理解答案
【问题讨论】:
-
' document(userId).collection('friends'),如果再次调用 document 将不起作用。
-
friends 是一个字符串数组类型的文档。在过去,它是一个集合,每个文档代表一个朋友,但我无法检索文档名称(朋友名称)列表,因此我将其切换为这种格式,尽管首选前一个格式
-
为什么无法获取好友列表?这应该是可能的,您可以使用查询进行过滤。如果您在文档中使用数组,您将在此处获得数组“Firestore.instance.collection('users').document(userid)”,因为该数组是文档“userId”的一部分,您只需要找到一个从中提取数据的方法,但是如果朋友列表增长很多,使用数组可能不是一个好主意,因为可以推断文档限制大小,并且集合可以永远增长。
-
他无法完全正确地阐明他想要什么。我建议进行编辑。让他看到并接受这一点。
-
感谢Yogesh的建议,我接受了。
标签: arrays flutter dart google-cloud-firestore casting