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