假设有三个表=>专辑,照片,评论
> album< =由用户创建
> photo< =包含上传到相册的所有照片
> comments< =包含相册或照片上的评论者 应该提取一张带有所有评论的照片.
应该提取一张专辑,其中包含所有照片但不是评论.
用户通过电子邮件识别.我提出的架构:
tbl_user
email || info: {password : ...,name : ...}
专辑
<email>:album:<timestamp> || info {title:...,cover: photo-row-key}
照片
<album-row-key>:<timestamp> || info {caption:...,exif: ...}
评论
<album-row-key or photo-row-key> || comments { comment:<timestamp>: {user: <email>,text:...} comment:<timestamp>: {user: <email>,text:...} ... }
>这个设计看起来不错吗?我只想知道应该/必须完成的修改以及原因.
>照片行键是否应该在专辑行键之前(可能是为了节省空间)?
>关于评论表,是否应创建评论行键,如< album-row-key或photo-row-key> ;: comment:< timestamp>?按照上述模式,每当用户创建注释时,我需要阅读注释列,使用新注释更新它并使用tha更新行.听起来不错吗?
如果您可以共享一些链接,这些链接具有适合RDBMS的模式示例,那将非常有用:)
解决方法
还放了照片&一列专栏中的照片评论和另一专栏系列中的专辑评论
>专辑行有关键邮件:专辑:0:0:时间戳照片行有关键
>电子邮件:相册:照片:0:时间戳照片评论行键
> email:album:photo:comment:timestamp album comment row key
>电子邮件:相册:评论:时间戳
然后,您可以根据需要在单个访问中获取数据.例如.:
>前缀一次扫描可以获得包含所有照片和所有照片的相册他们的评论>通过前缀和最后一个键进行一次扫描将为您提供专辑见证了它的照片而不是评论>通过电子邮件进行一次扫描:第二列家族的专辑将为您提供所有相册评论>通过电子邮件进行一次扫描:相册:照片前缀会为您提供照片及其所有评论>通过电子邮件进行一次扫描:包含所有列系列的相册将为您提供所有数据>使用endkey by album.max通过电子邮件扫描:将为您提供用户的所有相册>等
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。