我正在设计一个应用程序,每个用户将有一个时间线(又名提要),根据他/她的文章,他/她的后续。在我的数据库中,我将用户时间表文章作为共享密钥保存。因此,feed子树中的每个ID都属于用户跟踪的某个人的帖子。
"users": {
"userId-1": {
"userName": "Namey McNameface",
"following": {
"followingId-1": true,
"followingId-2": true,
.
.
},
"followers": {
"followerId-1": true,
"followerId-2": true,
.
.
},
"feed": {
"postId-1": true,
"postId-2": true,
.
.
}
},
"userId-2": {},
"userId-3": {},
.
.
}当有人发帖时,我也会将该帖子的键添加到该用户的追随者的feed中。
问题是,当有人开始跟踪其他人时,他们并没有开始看到自己的旧帖子。你知道如何在用户跟踪某人之后立即更新他们的时间表吗?
注意:这不是一个基于代码的问题,实际上是一个设计问题。我只是想了解一下Firebase数据库中用户提要的一般概念。
编辑:
我的服务器使用Java和。
用户的提要是按时间顺序的。因此,我们需要保持这个顺序,同时添加和删除对posts的引用。
谢谢。
发布于 2016-09-14 14:51:11
如果您想在开始跟踪用户时显示用户的历史帖子,则需要在那时阅读这些帖子。由于您的问题中没有关于您如何存储帖子的信息,不幸的是,这是我所能做出的具体回答。
但是,如果我们假设每个用户也有自己的帖子列表,那么它可能类似于(在JavaScript中):
function follow(uid) {
var postsRef = ref.child('users').child(uid).child('posts');
var feedRef = ref.child('users').child(auth.uid).child('feed');
postsRef.on('child_added', function(snapshot) {
feedRef.child(snapshot.key).set(true);
});
}https://stackoverflow.com/questions/39493331
复制相似问题