2012-02-22 110 views
5

假设我有一个blog,其集合为posts,并且每个post都有一个集合comments。我想查询所有评论,以查找所有博客文章中最近的5篇。使用RDBMS,您只需直接进入评论表,按日期排序,然后取5.在Ravendb中是否可以做类似的事情,因为注释不是聚合根目录?查询Ravendb文档中的子集合

回答

2

将您的评论存储为单独文档而非每篇文章都是有意义的,否则每次添加评论时都会加载并保存整个文章文档。

考虑到这一点,你只会询问你的意见类似下面

session.Query<Comment>().OrderByDescending(x => x.CommentDate).Take(5) 
+0

我认为这将是这种情况。我如何将他们链接到他们的父职位? - 给他们一个假的外键字段,然后根据这个执行另一个查询? – highace 2012-02-22 23:31:57

+0

不确定我可以添加很多以下文章解释了创建文档关系的各种选项,看看这是否有帮助http://daniellang.net/how-to-handle-relations-in-ravendb/ 可能添加一个postId财产的评论和使用包括将是我会去的战略 – 2012-02-22 23:35:14

+0

神奇,非常感谢。 – highace 2012-02-22 23:39:04