小编Bur*_*yer的帖子

与NoSQL数据库建立关系的有效方法

我目前正在尝试实现类似Tumblr的用户交互,例如reblog,关注者,关注者,评论,我目前关注的人的博客帖子等.此外,还需要显示每篇博文的活动.

我坚持为数据库创建适当的架构.有几种方法可以实现这种功能(定义嵌入的数据结构,如博客帖子和评论,为每个动作创建一个活动文档等),但我目前无法确定哪种方式在性能和可扩展性方面是最好的.

例如,让我们看看我关注的人的实施情况.这是示例用户文档.

User = { id: Integer, 
         username: String, 
         following: Array of Users,
         followers: Array of Users,
       }
Run Code Online (Sandbox Code Playgroud)

这似乎微不足道.我可以管理每个用户操作的以下字段(关注/取消关注),但如果删除了我当前关注的用户该怎么办.更新跟踪已删除用户的所有用户记录是否有效.

另一个问题是从我关注的人那里创建博客文章的视图.

 Post = { id: Integer, 
          author: User, 
          body: Text,
        }
Run Code Online (Sandbox Code Playgroud)

那么它是否有效查询最新帖子,如;

 db.posts.find( { author: { $in : me.followers} } )
Run Code Online (Sandbox Code Playgroud)

nosql

5
推荐指数
1
解决办法
1013
查看次数

标签 统计

nosql ×1