【发布时间】:2011-05-10 00:16:15
【问题描述】:
假设您有大量用户 (M) 和大量文档 (N),并且您希望每个用户能够将每个文档标记为已读或未读(就像任何电子邮件系统一样)。在 MongoDB 中表示这一点的最佳方式是什么?还是其他任何文档数据库?
StackOverflow 上有几个问题针对关系数据库提出了这个问题,但我没有看到任何有关文档数据库的建议:
What's the most efficient way to remember read/unread status across multiple items?
Implementing an efficient system of "unread comments" counters
通常,答案涉及一个表格,其中列出了用户已阅读的所有内容:(即用户 ID 的元组,文档 ID)以及一些可能的截止日期优化,允许标记为已读以擦除数据库并重新开始知道该日期之前的任何内容都是“已读”。
那么,MongoDB / NOSQL 专家,您在实践中看到了哪些解决此问题的方法以及它们的表现如何?
【问题讨论】:
标签: mongodb database-design non-relational-database nosql