基本上我有一个帖子列表,我想知道我是否需要单独收集这些帖子的链接。 当然我想在我的缩略列表中显示postname(以及鼠标悬停内容),但查询postname和content会加载 所有评论都太对了吗? (因为它们是嵌入的。评论数组预计会比帖子“内容”大得多)
有什么方法可以避免收到另一个集合,但同时避免加载评论 每次我想知道帖子的名称/描述?
> db.Posts.find()
{
"_id" : "123",
"Name": "test",
"Content": "wooops",
"comments" : [ {comment1}, {comment2}, {comment3} ]
}
当然,我知道我可以为评论创建另一个集合。但据我所知,在生产使用中是不可能的,因为我希望每天都有很多帖子,这意味着每个新帖子都会创建一个新的评论集合。这是推荐的吗?至于official docs说,最大收集数是12000.虽然它说数量可以增加,但我强烈认为这不是一个好主意。 编辑:我计算了它,绝对最大值是150万个集合/ =帖子。当然这还不够。
非常感谢有关此事的任何经验:)
答案 0 :(得分:1)
但是查询帖子名称和内容会加载所有评论吗?
不一定。 MongoDB允许您加载部分文档(类似于SQL中的投影,您只选择某些字段)为此,您需要向find()查询添加第二个参数,提供列出要返回的元素的文档:
> db.Posts.find({}, {Name:true, Content:true})