数据结构可能如下所示:
{
post_title : String,
post_date : Date,
user_id : ObjectID,
post_content : String,
comments : [
{
comment_date : Date,
comment_content : String,
user_id : ObjectID
}
]
}
我正在研究的系统具有与上述类似的结构。post_* 对象中包含的内容可能永远不会改变,但评论部分的内容会经常更新和编辑。
由于上述结构是单个文档,因此更新或添加单个注释需要阅读整个文档,对其进行编辑并保存。这也使缓存变得困难,因为尽管 post_* 内容可以缓存很长时间,但评论却不能。
这里最好的策略是什么?给评论提供他们自己的收藏会更好吗?
就查询时间而言,我仍然需要访问数据库来提取评论,但是在更新或添加评论时,文档的大小会小得多。