在Ravendb文档中查询子集合

时间:2012-02-22 23:22:35

标签: c# nosql ravendb

假设我的blog集合为posts,而每个post的集合都为comments。我想查询所有评论,以查找所有博客帖子中最近的5条评论。使用RDBMS,您只需直接查看注释表,按日期排序并执行5.在Ravendb中是否可以执行类似的操作,因为注释不是聚合根?

2 个答案:

答案 0 :(得分:5)

highace, 是的,你当然可以这样做。 您可以在这里看到我们如何做类似的事情: https://github.com/ayende/RaccoonBlog/blob/master/RaccoonBlog.Web/Infrastructure/Indexes/PostComments_CreationDate.cs

答案 1 :(得分:2)

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

考虑到这一点,您只需查询您的评论,如下所示

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