【发布时间】:2020-06-26 08:41:53
【问题描述】:
- posts
- userID
- userID
- randomID
- randomID
- followers
- personB userid
- personA userid
- following
- personA userid
- personB userid
这就是我的 firebase 集合的组织方式。
我如何为当前登录用户创建时间线供稿,其中时间线帖子应仅来自登录用户的以下列表? 注意:我不想使用 firebase 功能。CRUD 可以吗? 到目前为止我尝试了什么。
getFollowing() async {
QuerySnapshot snapshot = await followersRef
.document(currentUser.id)
.collection('userFollowing')
.getDocuments();
setState(() {
followingList = snapshot.documents.map((doc) => doc.documentID).toList();
print(followingList);
});
}
getTimeline()async{
QuerySnapshot snapshot = await postsRef
.document(followingList)//getting an error here saying list<string> csn't be assigned to string.
.collection('userPosts')
.orderBy('timestamp', descending: true)
.getDocuments();
List<Post> posts =
snapshot.documents.map((doc) => Post.fromDocument(doc)).toList();
setState(() {
this.posts = posts;
});
}
【问题讨论】:
-
你能分享一下代码,我会编辑并发送
-
@Niteesh 我不知道如何连接两个集合(以下和帖子)。如果您给我一个想法,请尝试使用代码并回复您。我应该复制用户的帖子并将其保存到另一个集合中以供时间轴供稿使用?这可能吗?
-
先获取以下列表的用户ID,然后使用用户ID获取每个用户的帖子
-
我试过了,但我得到一个错误,说 list
不能分配给字符串。我已经编辑了我的问题并输入了我试过的代码。 -
问题是文档只接受字符串参数而不接受列表