假设我们有一些网站,您可以在其中发布照片,订阅其他用户。有一个类似User
的端点,您可以在其中看到您所订阅的人的照片,并且该站点应该隐藏您已经看到的内容。
我一直在思考如何跟踪已经看到的内容,而我想到的唯一一件事就是组织Future<GroupWithUsers> groupToPair(DocumentSnapshot groupDoc) {
return Firestore.instance
.collection(USER_COLLECTION_NAME)
.where('groupId', isEqualTo: groupDoc.documentID)
.orderBy('createdAt', descending: false)
.getDocuments()
.then((usersSnap) {
List<User> users = [];
for (var doc in usersSnap.documents) {
users.add(User.from(doc));
}
return GroupWithUser(Group.from(groupDoc), users);
});
}
和{{1}之间的多对多关系}和第3个表格将为每个单个条目保存/feed
和User
,每个单个条目意味着具有Photos
的用户阅读带有user_id
的帖子,因此现在我可以过滤看到的内容。
我想到的另一种方法是将刚才看到的帖子的id保存在localStorage中,这似乎是错误的方式...
那么,有没有比我想到的第一个更好的方法?如果这与我的建议不同,您会怎么做?
此外,如果我们还需要考虑“喜欢”,那么为第三张桌子再增加一个字段-photo_id
是个好主意吗(因为出于逻辑考虑,喜欢的照片应视为可见)