如果我有一个用于存储文章的集合,其中嵌入了注释,当从数据库中检索数据时,我会得到一个带有完整注释列表的文章对象,支持有很多注释,所以这可能是一个加载问题效率,如何通过分页注释处理这个?我必须使用单独的集合进行评论吗?或者还有什么?提前完成。
答案 0 :(得分:6)
您正在寻找$slice运营商。
要通过分页检索评论,您需要这样的代码:
db.articles.find({}, {comments:{$slice: [20, 10]}}) // skip 20, limit 10
此操作将返回仅包含切片注释的文章。 )
答案 1 :(得分:0)
最大的问题是:
您的用户对评论或观看的上下文更感兴趣吗?
<强>高度:强> 将评论放在单独的文档中,并加载优先! 然后通过AJAX发送“辅助”内容。
<强>中度:强> 使用Andrew的解决方案。 (并且不要忘记您也可以省略查询中的字段)
<强>几乎:强> 将评论放在单独的文档中,并加载最后(通过AJAX)。
(同样使用AJAX可以通过简单的向下滚动为您提供扩展加载注释的好功能)