1

日付ごとにグループ化するなど、年/月ごとに投稿ごとに統計を取得するクエリを作成する必要があります。インデックスを作成しました:

public class Posts_Count : AbstractIndexCreationTask<Post, ArchiveItem>
{
    public Posts_Count()
    {
        Map = posts => from post in posts
              select new
                         {
                             Year = post.PublishedOn.Year,
                             Month = post.PublishedOn.Month,
                             Count = 1
                         };

        Reduce = results => from result in results
                            group result by new {
                                 result.Year,
                                 result.Month
                            }
                            into agg
                            select new
                                       {                                               
                                           Year = agg.Key.Year,
                                           Month = agg.Key.Month,
                                           Count = agg.Sum(x => x.Count)
                                       };
    }
}

スタジオには、次の map と reduce 関数があります。

地図:

docs.Posts.Select(post => new {Year = post.PublishedOn.Year, Month = post.PublishedOn.Month, Count = 1})

減らす:

results
.GroupBy(result => new {Year = result.Year, Month = result.Month})
.Select(agg => new {Year = agg.Key.Year, Month = agg.Key.Month, Count = agg.Sum(x => ((System.Int32)(x.Count)))})

しかし問題は、私が常に Year と Month プロパティの値を null にすることです:

{
   "Year": null,
   "Month": null,
   "Count": "1"
}

私のコードで問題を解決するのを手伝ってくれる人はいますか? ありがとう!

4

1 に答える 1

0

あなたのコードは問題ないようです。テストしたところ、現在の不安定なビルド 1.2.2096 で動作します。RavenDB google グループで最近これに関する議論があったため、以前は壊れていた可能性があります。現在のビルドでもう一度試して、今すぐうまくいくかどうかを確認してください。

于 2012-09-26T19:13:31.213 に答える