我需要获取特定集合中的文档数量:
有一个现有的索引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) }另外,var Count = DocumentSession.Query<Post>().Count();总是返回0作为我的结果,即使我的数据库中有500多个文档,其中至少有50个文档的元数据中有"Raven-Entity-Name“作为"Posts”。我完全不知道为什么这个Count查询总是返回0作为答案--当Count完成时,Raven日志显示了这一点
Request # 106: GET - 0 ms - TestStore - 200 - /indexes/dynamic/Posts?query=&start=0&pageSize=1&aggregation=None发布于 2011-04-17 14:06:06
要从索引中获取结果,您可以使用:
session.Query<Collection>("Raven/DocumentCollections")
.Where(x=>x.Name == "Posts")
.FirstOrDefault();这会给你你想要的结果。
发布于 2014-09-10 22:54:58
对于任何还在寻找答案的人(这个问题是在2011年发布的),现在最合适的方法是:
var numPosts = session.Query<Post>().Count();https://stackoverflow.com/questions/5688642
复制相似问题