在Mongo中,如何获得仅出现在其他对象中的所有内容?

时间:2015-02-05 07:46:00

标签: mongodb data-modeling

根据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
      }
   ]
}

然而,我不明白为什么效率这么高?例如,如果我想获得所有特定用户的评论怎么办?不需要花费很长时间或大量处理能力来浏览所有帖子,看看用户是否在那里发帖?

1 个答案:

答案 0 :(得分:0)

您必须考虑如何处理这些数据。对于Alall场景来说肯定不是完美的模型,但是如果你认为它在博客应用程序中如何工作它是有道理的。用户通常会显示包含所有评论的博客文章,这样您就可以一次性检索数据。如果您需要查询特定注释,则此模型不是最好的。