我一直在玩Couchbase,我正在努力寻找最好的方式来建立关系模型。
belongsTo:这相当容易。当我有Posts和 comments 时,我可以在注释中使用以下结构。
Comment:
id: 1
parent: this is where I store an id of posthasMany:一开始看起来很容易。假设我有 Post、和用户,并且用户可以像Post一样,我有以下结构。
Posts:
id: 1
likedBy: [
'user-id-1',
'user-id-2'
]如果我有.一千个喜欢的话,这是可行的,但是随着increases..it的#变得越来越慢,我不得不锁定文档。
我的第一个解决方案是使用视图,但是尽管它适合大多数查询,但它并不是实时的。索引总是有延迟的。
然后,我考虑使用关系数据库来保存关系,我认为这可能是一个不错的选择,但我想知道我是否缺少了什么。
发布于 2015-12-09 02:16:04
对于评论,我可能会使用类似于这的东西,但是我不会像在博客文章中那样使用"SomeEventType“和日期时间戳,我会做文章本身的ID。这样,您就可以获得该帖子的计数器对象,这将为您提供注释数组的上限。然后,您可以迭代该列表,使用分页或对它们进行批量获取。因为这将是纯粹与数据服务交互,它将满足您的一致性和实时需要。
对于“喜欢”的数量,可以使用“计数器”对象。为了记录哪个用户喜欢帖子或评论,您可以将其存储在一个单独的对象中,或者可能有一个索引对象,就像您在每个用户的问题中一样?让我再考虑一下这个。
https://stackoverflow.com/questions/34168631
复制相似问题