根据a tutorial I'm reading,用于博客系统的MongoDB应该有Posts
的中央集合,其中包含有关帖子的详细信息,以及包含帖子中所有评论的子对象。
{
_id: POST_ID
title: TITLE_OF_POST,
description: POST_DESCRIPTION,
by: POST_BY,
url: URL_OF_POST,
tags: [TAG1, TAG2, TAG3],
likes: TOTAL_LIKES,
comments: [
{
user:'987',
message: TEXT,
dateCreated: DATE_TIME,
like: LIKES
},
{
user:'123',
message: TEXT,
dateCreated: DATE_TIME,
like: LIKES
}
]
}
然而,我不明白为什么效率这么高?例如,如果我想获得所有特定用户的评论怎么办?不需要花费很长时间或大量处理能力来浏览所有帖子,看看用户是否在那里发帖?
答案 0 :(得分:0)
您必须考虑如何处理这些数据。对于Alall场景来说肯定不是完美的模型,但是如果你认为它在博客应用程序中如何工作它是有道理的。用户通常会显示包含所有评论的博客文章,这样您就可以一次性检索数据。如果您需要查询特定注释,则此模型不是最好的。