【问题标题】:RavenDB: sorting, indexes and projectionsRavenDB:排序、索引和预测
【发布时间】:2012-02-24 04:44:26
【问题描述】:

假设我有一个看起来像这样的模型:

public class Blog
{
    public string BlogId { get; set; }
    public string Name { get; set; }
    public DateTime Created { get; set; }
}

public class Post
{
    public string PostId { get; set; }
    public string BlogId { get; set; }
    public string Text { get; set; }
}

我有很多博客,每个博客都有很多帖子。现在我想要一个像这样的“博客摘要视图”:

public class BlogSummaryView
{
    public string Id { get; set; }
    public string Name { get; set; }
    public DateTime Created { get; set; }
    public int PostCount { get; set; }
}

如果我希望能够同时对创建日期帖子数进行排序,我应该如何获取此列表?

我可以添加一个 map/reduce 索引来获取每个博客的帖子数量并对其进行排序,但我无法使用此索引对博客创建日期进行排序。

添加地图索引使我可以按创建日期排序。这个索引不允许我对帖子的数量进行排序,除非我缺少一些东西。

【问题讨论】:

    标签: indexing mapreduce ravendb


    【解决方案1】:

    克里斯托弗, 这就是为什么我们有多图减少索引的原因。看: http://ayende.com/blog/89089/ravendb-multi-maps-reduce-indexes

    【讨论】:

    • 我已经尝试过了,但没有运气(我无法弄清楚 DateTime / int 转换错误)。但至少我知道我在正确的轨道上。
    • 您可能需要更新到最新的不稳定版本。我们修复了类似的问题。
    • 我从 build 616 (stable) 移到了 657 (unstable),这解决了我在 multi-map-reduce 的 reduce 部分使用 g.Max(x => x.Created) 的转换问题指数。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-27
    • 2015-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多