RavenDB: сортировка, индексы и прогнозы - PullRequest
2 голосов
/ 23 февраля 2012

Допустим, у меня есть модель, которая выглядит следующим образом:

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; }
}

Как мне получить этот список, если я хочу иметь возможность сортировать как по дате создания , так и по количество постов ?

Я могу добавить карту / уменьшить индекс, чтобы получить количество постов в блоге и отсортировать по нему, но я не смогу отсортировать по дате создания блогас этим индексом.

Добавление индекса карты дает мне возможность сортировать по дате создания.Этот индекс не позволил бы мне сортировать по количеству сообщений, за исключением случаев, когда я что-то упускаю.

1 Ответ

3 голосов
/ 24 февраля 2012

Кристоффер, Вот почему у нас есть несколько карт редукционных индексов. Увидеть: http://ayende.com/blog/89089/ravendb-multi-maps-reduce-indexes

...