特定のコレクション内のドキュメントの数を取得する必要があります:
コレクションに属する実際のドキュメントとペアになっているコレクションのカウントと名前を格納する既存のインデックス Raven/DocumentCollections があります。可能であれば、このインデックスからカウントを取得したいと思います。
Raven/DocumentCollections インデックスの Map-Reduce は次のとおりです。
from doc in docs
let Name = doc["@metadata"]["Raven-Entity-Name"]
where Name != null
select new { Name , Count = 1}
from result in results
group result by result.Name into g
select new { Name = g.Key, Count = g.Sum(x=>x.Count) }
ちなみに、私のDBには明らかに500個の奇妙なドキュメントがあり、そのうちの少なくとも50個のメタデータに「Raven-Entity-Name」が「 Posts var Count = DocumentSession.Query<Post>().Count();
」として含まれているにもかかわらず、結果として常に0が返されます。この Count クエリが答えとして 0 を返し続ける理由がまったくわかりません - Raven ログは、Count が完了するとこれを示します
Request # 106: GET - 0 ms - TestStore - 200 - /indexes/dynamic/Posts?query=&start=0&pageSize=1&aggregation=None